Из комментария bendin выше и информации от Радость Clojure Майкла Фогуса и Криса Хаузера, в разделе «Время компиляции и время выполнения» (Глава 7, Раздел 7.2), Fogus и Houser объясняют, что замыкания и анонимные функции компилируются в байт-код в время компиляции , и каждый вызов функции высшего порядка, которая возвращает замыкание, просто возвращает новый экземпляр класса замыкания, а не новый класс. Эти случаи, конечно, будут собирать мусор. Поскольку существует очевидная верхняя граница количества анонимных функций и замыканий во время компиляции, проблема с памятью будет редко, если вообще когда-либо существовать.
Мои опасения были беспочвенными.