title: When is the Usage of ConfigureAwait(false) in ViewModels problematic?
body: <p>I wonder in which situations I will run into problems when using </p>
  
  <pre><code>ConfigureAwait(false)
  </code></pre>
  
  <p>in my (Xamarin) MVVM approach. This is mainly because I do not fully understand the synchronization context a view and a viewmodel and its properties and the underlaying model have to each other...</p>
  
  <p><strong>1</strong> What about observable collections?</p>
  
  <pre><code>// VM
  public ObservableCollection&lt;SomeThing&gt; SomeThings { get; set; }
  // ...
  public Task InitWorkload()
  {
      SomeThings = await DbService.GetSomeThings(); // &lt;-- Should need synchronization context, doesn't it?
  }
  
  // Service
  public Task&lt;SomeThings&gt; GetSomeThings()
  {
      result = await CallToDb.ConfigureAwait(false); // &lt;-- This is UI agnostic and shouldn't care about context or does it?
      return result;
  }
  </code></pre>
  
  <p><strong>2</strong> What about Navigation (in this case with the help of FreshMvvm)?</p>
  
  <pre><code>private async Task CloseWindow()
  {
      await CoreMethods.PopPageModel(); // &lt;-- Should need synchronization context, doesn't it?
  }
  </code></pre>