Let's say I have two async methods
public async static Task RunAsync1()
{
    await Task.Delay(2000);
    await Task.Delay(2000);
}
and
public async static Task RunAsync2()
{
    var t1 = Task.Delay(2000);
    var t2 = Task.Delay(2000);
    await t1;
    await t2;
}
Then I use it like
public static void M()
{
    RunAsync1().GetAwaiter().GetResult();
    RunAsync2().GetAwaiter().GetResult();
}
In a result the RunAsync1 will run 4sec but RunAsync2 only 2sec 
Can anybody explain why? Methods are almost the same. What is the difference?