title: Async/await not reacting as expected
body: <p>Using the code below I expect the string "Finished" to appear before "Ready" on the console. Could anybody explain to me, why await will not wait for finishing the task in this sample?</p>
  
  <pre><code>    static void Main(string[] args)
      {
          TestAsync();
          Console.WriteLine("Ready!");
          Console.ReadKey();
      }
  
      private async static void TestAsync()
      {
          await DoSomething();
          Console.WriteLine("Finished");
      }
  
      private static Task DoSomething()
      {
          var ret = Task.Run(() =&gt;
              {
                  for (int i = 1; i &lt; 10; i++)
                  {
                      Thread.Sleep(100);
                  }
              });
          return ret;
      }
  </code></pre>