The theoretical limit may be 2,147,483,647, but the practical limit is nowhere near that. Since no single object in a .Net program may be over 2GB and the string type uses unicode (2 bytes for each character), the best you could do is 1,073,741,823,
but you're not likely to ever be able to allocate that on a 32-bit machine.
Die ganzen String-Methoden werden vermutlich nicht ohne Grund noch weiter vorn ein Ende setzen. Die Grenze wird häufig durch die intern verwendeten Datentypen wie System.Int32 gesetzt.
Wie sich Controls dagegen verhalten ist etwas vollkommen anderes. Diese müssen teilweise erheblichen Mehraufwand fürs Rendern leisten weswegen dort die Grenze weit drunter liegen dürfte. Ein Programm mit einer RichTextBox mit 2GB Inhalt dürfte praktisch
nicht mehr benutzbar sein. Daher solltest du vielleicht dein Konzept überdenken.