Вы должны использовать StringBuilder , если вы сильно меняете строку (добавляете, удаляете, меняете, заменяете символы), потому что это более эффективно.Если вы просто выполняете операцию, вы должны использовать строку.
Проблема с string заключается в том, что она неизменна, поэтому оператор
string text = myStringVariable + "new string"
вызывает новый экземпляр текста.переменная будет создана.Если вы выполняете много операций над строковым классом, у вас будет много экземпляров строковых объектов.