title: Is Async/Await using Task.Run starting a new thread asynchronously?
body: <p>I have read a lot of articles and still cant get understand this part.</p>
  
  <p>Consider this code :</p>
  
  <pre><code>    private async void button1_Click(object sender, EventArgs e)
      {
          await Dosomething();
      }
  
      private async Task&lt;string&gt; Dosomething()
      {
          await Task.Run((() =&gt; "Do Work"));
          return "I am done";
      }
  </code></pre>
  
  <p><strong>First question:</strong> </p>
  
  <p>When I click the button, it will Call DoSomething and await a Task that creates a Thread from the threadpool by calling Task.Run ( if I am not mistaken ) and all of this runs asynchronously. So I achieved creating a thread that does my work but doing it asynchronously? But consider that I don't need any result back, i just want the work to be done without getting any result back, is there really a need to use async/await , and if so, how?</p>
  
  <p><strong>Second question:</strong></p>
  
  <p>When running a thread asynchronously, how does that work? Is it running on the main UI but on a separate thread or is it running on a separate thread and separate is asynchronously inside that method? </p>