xunit Assert.ThrowsAsync () no funciona correctamente?

Entonces tengo una prueba como la siguiente:

    [Fact]
    public void Test1()
    {
        Assert.ThrowsAsync<ArgumentNullException>(() => MethodThatThrows());
    }

    private async Task MethodThatThrows()
    {
        await Task.Delay(100);
        throw new NotImplementedException();
    }

Para mi sorpresa, Test1 pasa con éxito. Para que falle, tengo que escribir así:

Assert.Throws<ArgumentNullException>(() => MethodThatThrows().Wait());

¿Cuál es el propósito de ThrowsAsync (), si no funciona en el escenario anterior?

Respuestas a la pregunta(1)

Su respuesta a la pregunta