¿Por qué solo una de las muchas excepciones de tareas secundarias siempre se propaga?

Estoy luchando para comprender mejor la lógica de la excepción y el manejo de errores en TPL (y con más suerte en las tareas async / await de .NET 4.5)

El ligeramente modificado de mi pregunta anterior"¿Cómo entender mejor el código / las declaraciones del artículo" Async - Manejo de múltiples excepciones "?" Código de aplicación de consola C # ejecutando 2separado anidado interior tareas adjuntas (dependientes) del niño (Actualización: lo siento, ¡comenzó una pregunta pero terminó con otra!) tareas:

class Program
{  
   static void Main(string[] args)
   {  Tst();
      Console.ReadLine();
   }
   async static Task  Tst()
   {
       try
       {
           await Task.Factory.StartNew
             (() =>
                {
                   Task.Factory.StartNew
                       (   () => { 
                                    Console.WriteLine("From 1st child");
                                    throw new NullReferenceException(); 
                                  }
                            , TaskCreationOptions.AttachedToParent
                        );
               Task.Factory.StartNew
                       (  () =>
                               { 
                                   Console.WriteLine("From 2nd child");
                                   throw new ArgumentException(); 
                               }
      ,TaskCreationOptions.AttachedToParent
                       );
                }
             );
    }
    catch (AggregateException ex)
    {
        Console.WriteLine("** {0} **", ex.GetType().Name);
        foreach (var exc in ex.Flatten().InnerExceptions)
        {
             Console.WriteLine(exc.GetType().Name);
        }
    }
    catch (Exception ex)
    {
       Console.WriteLine("## {0} ##", ex.GetType().Name);
    }
 } 

Produce una salida que alterna (no determinísticamente) entre:

From 1st child
From 2nd child
** AggregateException **
ArgumentException

y

From 1t child
From 2nd child
** AggregateException **
NullReferenceException

Parece que siempre una y solo una excepción de una de las tareas secundarias siempre se propagan / capturan.

¿Por qué solo se propaga / captura una excepción?
Me habría entendido mejor si no se detectan excepciones o, más bien, todas las excepciones de las tareas del niño.

¿Es posible, en esta situación, que se detecten ambas excepciones o ninguna?

Respuestas a la pregunta(2)

Su respuesta a la pregunta