Я слышал, что существует жесткое ограничение на размер .Net Array. Говорят, что максимальный объем памяти, который может быть выделен для любого отдельного экземпляра объекта Array (независимо от того, int[], double[] или ваш собственный массив), составляет 2 ГБ. И нет, если у вас 64-битная машина, ограничение в 2 ГБ все равно сохраняется.
Я не уверен, верно ли мое впечатление или нет. Кто-нибудь может подтвердить?