Como capturar / observar uma exceção não tratada lançada de uma tarefa

Estou tentando registrar / relatar todas as exceções não tratadas no meu aplicativo (solução de relatório de erros). Eu me deparei com um cenário que é sempre sem tratamento. Eu estou querendo saber como eu pegaria esse erro de uma maneira não tratada. Por favor, note que eu fiz uma tonelada de pesquisa esta manhã e tentei um monte de coisas .. Sim, eu viisto, isto e muitos mais. Estou apenas procurando por uma solução genérica para registrar exceções não tratadas.

Eu tenho o seguinte código dentro de um método principal do console de teste de aplicativos:

Task.Factory.StartNew(TryExecute);

ou

Task.Run((Action)TryExecute);

bem como o seguinte método:

private static void TryExecute() {
   throw new Exception("I'm never caught");
}

Eu já tentei ligar para o seguinte no meu aplicativo, mas eles nunca são chamados.

AppDomain.CurrentDomain.UnhandledException
TaskScheduler.UnobservedTaskException

No meu aplicativo Wpf onde eu encontrei este erro inicialmente, eu também liguei para esses eventos, mas nunca foi chamado.

Dispatcher.UnhandledException
Application.Current.DispatcherUnhandledException
System.Windows.Forms.Application.ThreadException

O único manipulador que é chamado sempre é:

AppDomain.CurrentDomain.FirstChanceException

mas esta não é uma solução válida, pois eu só quero relatar exceções não capturadas (nem todas as exceções, já que FirstChanceException é chamada antes que qualquer bloco catch seja executado / resolvido).