List<T>
не имеет ограничения по объему. Если у вас 32-битная система - то вы нарветесь на ограничения в 2 GB оперативки, если 64-битная - то будет забивать память под завязку. Подход неправильный, т.к. вы не знаете, сколько памяти у конечного юзера.