Если вы хотите сэкономить место и ваш список 32-разрядных целых чисел статистически сгруппирован вокруг определенного диапазона значений, вы можете использовать целочисленное сжатие.
.NET использует целочисленное сжатие для метаданных метода в сборках IL. Идея состоит в том, что если целое число обычно мало (например, 1-100), вы можете сэкономить место, кодируя его, используя гораздо меньше 32 бит. В зависимости от вашей схемы вам придется пожертвовать немного или двумя, чтобы сообщить компрессору / декомпрессору, есть ли у вас небольшое или большое значение.
См. здесь для более подробного объяснения того, как .NET делает это.