В C# строки хранятся в памяти в единственном экземпляре. Называется интернирование.
Код
if (str1 == “something” || str2 == “something”)
не будет создавать 2 строки, а будет использовать ссылку на один и тот же объект (да, строка - это Reference Type).