Не должно быть жестких внутренних ограничений.Если вы используете 64-разрядную версию и явно не установили x86, тогда должны применяться только физические ограничения.
Если нам нужны большие блоки - и это может иметь место при транспортировке - мы можем столкнуться с исключениями нехватки памяти, посколькунет места для такого большого блока - даже если в небольших блоках много фрагментированной свободной памяти.
Если это то, что вы видите, вы можете разделить данные на две или более частей.Вы также можете настроить параметры внутреннего распределения для больших выборок: посмотрите на это свойство в IPersistenceService
/// <summary>
/// EnsureRange will use this pagesize when chunking up fetches - default value is 100
/// </summary>
int PageSize { set; get; }