Иногда процесс может быть заблокирован на ресурсе или потоке или чем-то еще, и выход или освобождение этого освобождают процесс и позволяют ему завершиться. Это немного похоже на то, как при удалении (в корзину) файла в проводнике, который используется, он на самом деле не исчезает и кажется застрявшим (без немедленного возврата ошибки в использовании / заблокирован), но если вы выйдите из программы, которая заблокирована в течение пяти секунд, файл внезапно исчезнет.
Я видел, как это случалось иногда, особенно с программами, у которых есть всплывающее диалоговое окно или что-то, что каким-то образом скрывалось; поиск способа закрыть диалоговое окно позволяет завершить поток, что позволяет завершить процесс.
Я подозреваю, что с ростом, но все еще относительно новой практики многопоточного программирования, подобные вещи станут более распространенными, по крайней мере, на некоторое время.