Я понятия не имею, что такое ограничения в .NET, но, если это ограничение ресурсов, я бы решил это так же, как мы решали нехватку места в старые добрые времена 64-сегментного сегмента.
Внешние строки - поместите их во внешний файл и просто сохраните смещения (и длины, если они не завершены нулем). Когда вам нужна строка, загрузите ее из файла и используйте.