Ok, I had a feeling that was the case, so I re-wrote things to work around that.

My issue I have now is, how do I know what thread index/ip address data is arriving on?

This is my data arrival evenet
vb Code:
  1. myNet.DataArrival

And this is the function that handles the data (yes, I know it is in C#)
C# Code:
  1. private void winsock_DataArrival(string message)
  2. {
  3. }