A espera de várias tarefas observará mais do que a primeira exceção?

Hoje, meus colegas e eu discutimos como lidar com exceções no C # 5.0async métodos corretamente, e nos perguntamos se aguardar várias tarefas ao mesmo tempo também observa as exceções que não são desembrulhadas pelo tempo de execução.

Considere o seguinte snippet de código:

async Task ExceptionMethodAsync()
{
    await Task.Yield();
    throw new Exception();
}

async Task CallingMethod()
{
    try
    {
        var a = ExceptionMethodAsync();
        var b = ExceptionMethodAsync();

        await Task.WhenAll(a, b);
    }
    catch(Exception ex)
    {
        // Catches the "first" exception thrown (whatever "first" means)

    }
}

O que acontece com a segunda tarefa agora? Ambos estarão em um estado defeituoso, mas a exceção da segunda tarefa agora é observada ou não observada?

questionAnswers(1)

yourAnswerToTheQuestion