title: what's wrong with the implementation of this async chain?
body: <p>I have the code below in a console app. The LookUpUser method gets called and PostAsJsonAsync gets called but breakpoints in the response checking don't get hit afterwards.  What am I doing incorrectly in this implementation?</p>
  
  <pre><code>static void Main(string[] args)
  {
      TestUseCase().GetAwaiter().GetResult();
  }
  
  private static async Task TestUseCase()
  {
      await GetUserGuids();
  }
  
  private static async Task GetUserGuids()
  {
      var userGuids = new List&lt;Guid&gt;();
      userGuids.Add(Guid.Parse("7b5cf09c-196c-4e0b-a0e2-0683e4f11213"));
      userGuids.Add(Guid.Parse("3a636154-b7fc-4d96-9cd1-d806119ff79f"));
      userGuids.ForEach(async x =&gt; await LookUpUser(x));
  }
  
  private static async Task LookUpUser(Guid adUserGuid)
  {
      var client = new HttpClientManager().GetHttpClient();
      var response = await client.PostAsJsonAsync("api/v1/users/search", new { ADUserGuid = adUserGuid });
      if (response.IsSuccessStatusCode)
      {
          var groups = await response.Content.ReadAsAsync&lt;List&lt;User&gt;&gt;();
      }
      else //not 200
      {
          var message = await response.Content.ReadAsStringAsync();
      }
  }
  </code></pre>