Ну, вы не сказали, какое исключение оно вызывает, но одна вещь, с которой я столкнулся, случается с пакетами: если ваша финализация ссылается на что-то из другого пакета, и этот пакет уже выгружен, значит, ссылка плохая и вызовет нарушение прав доступа, а иногда и неверную операцию указателя.
Убедитесь, что MouseTrackingTimerList все еще доступен, и убедитесь, что это именно то, что он пытается сделать. Если вы работаете с глобальными интерфейсными ссылками в модуле, он вставит скрытый код завершения, чтобы очистить их, и если , то ссылается на что-то, что является частью другого пакета, вы можете получить те же проблемы.
Чтобы избежать этого, убедитесь, что все глобальные ссылки на интерфейсы из других пакетов установлены на nil до начала финализации программы, и убедитесь, что ваши разделы финализации не ссылаются ни на какие объекты, код которых находится в другой пакет, который может быть выгружен до текущего.