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