I'm may be just misunderstanding something fundamental here but...
Senario: I call System.Net.Sockets.NetworkStream's BeginRead method and my machine receives a response/request from a network device. The runtime runs my callback in its own thread. Before this thread can call EndRead, the machine receives another response/request.
Question: Will the runtime call my callback in another thread immediately or wait for me to call EndRead and then BeginRead again?