Переполнение кучи потоков Haskell, несмотря на использование всего 22 МБ памяти?

Я пытаюсь распараллелить трассировщик лучей. Это означает, что у меня есть очень длинный список небольших вычислений. Ванильная программа запускается на определенной сцене за 67,98 секунды при использовании 13 МБ общей памяти и производительности 99,2%. В своей первой попытке я использовал...