Это понятно, что если один модуль импортирует другой, то, тот который уровнем глубже не может быть выгружен. Тут фишка получается, что какой-то модуль из верхнего уровня продолжает в памяти висеть, даже после закрытия окна. Так вот непонятно, почему такой модуль остаётся в памяти, если его ничего не держит, и соответственно, все остальные модули уровнями ниже?