> -- Александр Ильин писал(а):
> Мне кажется, что в целом вы правы, только в последнем предложении сделали слишком сильное утверждение. Не модуль может быть собран, а дескриптор типа, принадлежащий  модулю. Сам модуль, конечно, нельзя выгружать только по признаку отсутствия переменных.
Я неточно выразился. Я имел ввиду что модуль, как и дескрипторы, может быть собран когда на него нет ссылок ни из дескрипторов, ни из других локальных/глобальных переменных в других модулях, тем же самым сборщиком мусора. При загрузке создать динамически дескриптор модуля и прописывать ссылку на него из всех дескрипторов типов содержащихся в нем, а также в глобальном листе модулей.

Тогда, если в глобальном листе модулей обнулить ссылку на модуль и обнулить все ссылки на экземпляры его типов, то сборщик мусора соберет и дескрипторы его типов и дескриптор самого модуля. Как то так.