title: tsk = AsyncMethod vs tsk = Task.Run(AddressOf AsyncMethod) threads behavior difference
body: <p>I'm trying to understand difference in behavior of 2 lines of code those commented as &quot;Case 1&quot; and &quot;Case 2&quot;.
  Here's the code:</p>
  <pre><code>'Handler-----------------------------------------------------------------
  
  Private Async Sub Button_Click(sender As Object, e As RoutedEventArgs)
          Await Worker()
  End Sub
  
  'Worker------------------------------------------------------------------
  
  Async Function Worker() As Task
      Debug.WriteLine(&quot;I am worker just started. Thread is: &quot; &amp; System.Threading.Thread.CurrentThread.ManagedThreadId)
  
      'Dim tsk = Task.Run(AddressOf AsyncWork)       'Case 1
      Dim tsk = AsyncWork()                          'Case 2
  
      Dim b
      For j = 0 To 1000
          For i = 0 To 1000
              If i = 500 And j = 500 Then Debug.WriteLine(&quot;I am worker inside my circle. Thread is: &quot; &amp; System.Threading.Thread.CurrentThread.ManagedThreadId)
              b = i * j
          Next
      Next
  
      Await tsk.ConfigureAwait(False)
  
      Debug.WriteLine(&quot;I am worker after work. Thread is: &quot; &amp; System.Threading.Thread.CurrentThread.ManagedThreadId)
  
  End Function
  
  'Work------------------------------------------------------------------
  
  Async Function AsyncWork() As Task(Of String)
      Await Task.Delay(1)
      Debug.WriteLine(&quot;I am work. Thread is: &quot; &amp; System.Threading.Thread.CurrentThread.ManagedThreadId)
      Dim a
      For j = 0 To 1000
          For i = 0 To 1000
              a = i * j
          Next
      Next
      Return a.ToString
  End Function
  </code></pre>
  <p>In the &quot;Case 1&quot; <code>Dim tsk = Task.Run(AddressOf AsyncWork)</code>
  <code>AsyncWork</code> method is started on separate thread as expected.</p>
  <p>I can't get in mind why in the &quot;Case 2&quot;, when I type <code>Dim tsk = AsyncWork()</code>, <code>AsyncWork</code> method starts executing on the same thread? What is the difference of these two lines of code?</p>
  <p><img src="https://i.stack.imgur.com/wtLgd.png" alt="enter image description here" /></p>