Ah, ya lo pillo, lo que estás haciendo es declarar un string literal en tiempo de diseño de decenas de miles de lineas o caracteres. bien, ¿por qué lo haces de esa manera?, lo que estás haciendo no es nada óptimo en términos de administración de memoria... ocupar siempre 20-50mb adicionales de RAM por un simple string literal, es una locura. Ese límite del que hablas parece ser implícito:
http://source.roslyn.codeplex.com/#Roslyn.Compilers.CSharp.Emit.UnitTests/Emit/EmitErrorTests.cs (linea 329)
Yo en tu lugar añadiría esa cadena de texto en un archivo de texto plano, entonces puedes incluir el archivo como recurso (embedido o no) de tu programa, y simplemente leerías el recurso/cadena de texto cuando lo necesitases... así además de evitar dicho límite, evitas hacer ese mal uso indebido de la memoria de tu programa.
Esa es mi recomendación.
EDITO: si por lo que sea no quieres seguir la recomendación y quieres tenerlo como un string sí o sí, pues como alternativa siempre puedes añadir un recurso de string desde las propiedades de tu proyecto. Así también evitarías dicho límite (lo he comprobado para asegurarme), pero será mejor que añadas el string manualmente en el archivo XML donde se serializan los recursos de tu aplicación (Resources.resx), por que si intentas añadir esas decenas de miles de caracteres desde las propiedades del proyecto... es decir desde la interfaz de visual studio... se te va a colgar la IDE.
Saludos!