Different behavior async/await in almost the same methods : <p>Let's say I have two async methods</p>

<pre><code>public async static Task RunAsync1()
{
    await Task.Delay(2000);
    await Task.Delay(2000);
}
</code></pre>

<p>and</p>

<pre><code>public async static Task RunAsync2()
{
    var t1 = Task.Delay(2000);
    var t2 = Task.Delay(2000);

    await t1;
    await t2;
}
</code></pre>

<p>Then I use it like</p>

<pre><code>public static void M()
{
    RunAsync1().GetAwaiter().GetResult();
    RunAsync2().GetAwaiter().GetResult();
}
</code></pre>

<p>In a result the <code>RunAsync1</code> will run <strong>4sec</strong> but <code>RunAsync2</code> only <strong>2sec</strong> <br>
Can anybody explain why? Methods are almost the same. What is the difference? </p>
