title: async method is blocking UI thread on which it is executing
body: <p>Consider the following codes in Winform. When I clicked the button, I was expecting that the async method should not block UI thread on which it was executing.</p>
  
  <p>However, I found out that button was frozen during async method calling...
  If true, what is the point of async method? I am confused.</p>
  
  <pre><code>namespace WindowsFrmAsyn
  {
      public partial class Form1 : Form
      {
          public Form1()
          {
              InitializeComponent();
          }
  
          async private void button1_Click(object sender, EventArgs e)
          {
              int contentlength = await AccessTheWebAsync();
              tbResult.Text =
                          string.Format("Length of the downloaded string: {0}.", contentlength);
  
              Debug.WriteLine(tbResult.Text);
          }    
  
          async Task&lt;int&gt; AccessTheWebAsync()
          {
              Debug.WriteLine("Call AccessTheWebAsync");
              Thread.Sleep(5000);
              Debug.WriteLine("Call AccessTheWebAsync done");
              tbResult.Text = "I am in AccessTheWebAsync";
              return 1000;
          }
      }
  }
  </code></pre>