Максимальная вместимость StringBuilder в C# ограничена максимальным размером массива, который может быть выделен в .NET, а также объемом доступной оперативной памяти.
Теоретический максимум для размера массива в .NET составляет 2^31 - 1 элементов (чуть более 2 миллиардов). Поскольку StringBuilder внутренне использует массив символов (char[]), это является основным ограничением.
Практическое ограничение диктуется объемом свободной памяти на машине, на которой выполняется приложение. При достижении определенного размера StringBuilder будет пытаться выделить новый, больший массив и скопировать туда текущее содержимое, что требует значительного объема памяти. Если памяти недостаточно, будет выброшено исключение OutOfMemoryException.
csharp