Когда AppDomain.ProcessExit не будет вызван?

Включающая линия//1 ниже сделает сбой программы без "Proc выход " печатается, но в случае строки "//2Proc выход " будет напечатан. "необработанное» Кстати, печатается в обоих случаях.

Почему разница, и каковы правила в целом? Очевидно, убивая приложение, например, с помощью диспетчер задач помешаетProc выход " от печати, но кроме этого, в каких случаях это не 'печатать?

static void Main(string[] args)
{
    Thread.GetDomain().UnhandledException +=
        (sender, eventArgs) => Console.WriteLine("unhandled");
    AppDomain.CurrentDomain.ProcessExit +=
        (sender, eventArgs) => Console.WriteLine("proc exit");
    //1 new Thread(_ => { throw new Exception(); }).Start();
    //2 ThreadPool.QueueUserWorkItem(_ => { throw new Exception(); });
    Thread.Sleep(1000);
    return;

Ответы на вопрос(2)

Ваш ответ на вопрос