title: Loading data with Async Await messes up data
body: <p>I update my MVVM application to fetch data with the async and await, but for some reason my ObservableCollection's get messed up; 
  I load other Collections at the same time, like Persons, Locations, and they are sometimes mixed together.  </p>
  
  <p>How/why does this happen and how can I solve this?</p>
  
  <p><strong>ViewModel</strong>:</p>
  
  <pre><code>private async void Load()
  {
      Agents = await DAL.Agent.LoadAsync();
  }
  </code></pre>
  
  <p>OR (for testing purposes)</p>
  
  <pre><code>private async void Load()
  {
      var task = DAL.Agent.LoadAsync();
      task.Wait();
      Agents = await task;
  }
  </code></pre>
  
  <p>OR (for testing purposes)</p>
  
  <pre><code>public async void Load()
  {
      AgentsVW = await Task.Run(() =&gt; DAL.Agent.LoadVW(null));
  }
  </code></pre>
  
  <p><strong>DAL</strong>:</p>
  
  <pre><code>public static Task&lt;ObservableCollection&lt;Models.Agent&gt;&gt; LoadAsync()
  {
      return Task.Factory.StartNew(() =&gt; Load());
  }
  
      public static ObservableCollection&lt;Models.Agent&gt; Load()
      {
          ObservableCollection&lt;Models.Agent&gt; Collection = new ObservableCollection&lt;Models.Agent&gt;();
          Collection.Add(new Models.Agent());
  
          try
          {
              using (DAL.EF.csEntities_PersonData ef = new DAL.EF.csEntities_PersonData())
              {
                  var x = (from r in ef.usp_tblAgents_S(null) select r);
  
                  foreach (var item in x)
                  {
                      Collection.Add(new Models.Agent()
                      {
                          //Fields
                      });
                  }
              }
          }
          catch (Exception ex)
          {
             //Log it
          }
              return Collection;
      }
  </code></pre>
  
  <p><strong>EDIT</strong>
  The values are correct, but it just DISPLAYS wrong/other values in the comboboxes.</p>