title: Why does C# Thread.Join returns on first await
body: <p>I have a code like this:</p>
  <pre><code>var t = new Thread(async () =&gt;
      {
          await DoSomeWorkAsync();
      });
  t.Start();
  t.Join();
  
  
  ..
  
  public static async Task DoSomeWorkAsync()
  {
      var o = await GetSomethingAsync();
      o.StartSomething();
      ..
  }
  </code></pre>
  <p>I've noticed that the t.Join() returns automatically after the await. I'd like to understand why.</p>
  <p>Thanks</p>