title: AsyncAwait causes unexpected method behavior, Methods runs in wrong thread if called from constructor
body: <p>I'm trying to do some time consuming actions without freezing the GUI Thread. The <code>UpdateSomething</code> Method is called in two places once in the constructor of my ViewModel and once on button click (RelayCommand). The Method is executed in a WorkerThread if the method is called via RelayCommand, but runs in the MainThread (GUI) when the method call comes from the constructor.</p>
  
  <p>What causes this <em>strange</em> behavior? I double check a few times via IntelliTrace.</p>
  
  <p>This is the method in question:        </p>
  
  <pre><code>private async void UpdateSomething()
  {
      var item = await Task.Factory.StartNew(() =&gt;this.DoSomething("I should run async"));
      this.TestItem = item;
  }
  </code></pre>
  
  <p>I'm using WPF and .Net 4.5</p>