Строка является неизменной, что означает, что каждый раз, когда вы изменяете ее, создается новый экземпляр, и строитель строк сохраняет динамическую память, не перераспределяя ее при каждом изменении.
вы можете увидеть некоторые подсказки в dot net perls
сходств нет, string - это тип объекта, а построитель строк - это другой объект.сказав, что вы можете думать о StringBuilder как о декораторе строк, в котором есть некоторые оптимизации.(реализует шаблон builder )