Есть несколько факторов. Один из упомянутых это память для стека. Поскольку стековая память не обрабатывается обычным распределителем GC, используемым для объектов, создание стека потока и последующий отказ от него сильно отличается от создания мегабайтов объектов кучи и отказа от них.
Еще одним фактором, который еще не упомянут, является стоимость, связанная с такими вещами, как переменные потока. В некоторых системах, в которых требуются все статические переменные потока, которые поток может использовать для определения до запуска потока, запуск нового потока потребует инициализации всех статических переменных потока. Поскольку .net позволяет потокам динамически добавлять переменные потока, используемые структуры данных различны. Тем не менее, инициализация таких структур данных при запуске потока не является бесплатной.