title: A method was called at unexpected time in TCP read request
body: <pre><code>StreamSocket _connection = AsyncCreateConnection(); // In constructor
  
  private async void receive(){
  DataReader reader = new DataReader(_connection.InputStream);
  DataWriter writer = new DataWriter(_connection.OutputStream);
  
  try
          {
              reader.InputStreamOptions = InputStreamOptions.Partial;
              uint sizeFieldCount = await reader.LoadAsync(sizeof(uint)); // &lt;&lt;--  Explosion
              if (sizeFieldCount != sizeof(uint))
              {
                  return;
              }
  
              // Read the string.
              uint stringLength = reader.ReadUInt32();
              uint actualStringLength = await reader.LoadAsync(stringLength);
              if (stringLength != actualStringLength)
              {
                  return;
              }
  
              Debug.WriteLine(reader.ReadString(actualStringLength));
          }
          catch (Exception exc)
          {
              Debug.WriteLine(exc.Message);
          }
  }
  </code></pre>
  
  <p>Been getting this error all afternoon. Asynchrony of creating the connection should be finished when the receive method is called.</p>