Don't forget that .NET uses UTF-16 Unicode internally -- which uses 2 bytes per character, so to hold a string of length 2,147,483,647 you would need 4,294,967,294 bytes of memory (4gb!) plus memory for the OS, the .NET runtime, video driver, etc.
A file or database is what you're looking for.
Chip H.