Объекты будут храниться на LOH только в том случае, если их размер превышает 85 000 байт. Большой список (особенно структур) часто будет выделяться здесь.
Однако словарь менее вероятен, поскольку он хранит массив сегментов, поэтому, если генерировать достаточно сегментов, чтобы массив стал> 85000 байт, это маловероятно. Список из 40 тыс. Элементов будет храниться в LOH, даже если они являются классами (поскольку ссылки на объекты в каждом элементе приведут к тому, что список будет 160 тыс. В x86, 320 тыс. В системах x64). Отдельные элементы будут в стандартной куче, поэтому будут уплотнены и т. Д.
Если вы используете двусвязный список вместо стандартного списка, маловероятно, что он будет сохранен в LOH. Каждый элемент списка будет небольшим (всего один узел со ссылками на следующие / предыдущие узлы), поэтому ни один объект не будет иметь размер> 85 Кбайт.
Для получения подробной информации о LOH, это отличная запись в блоге.