Not sure if that is the cause, but you definitiely should NOT do client.Add in one thread and client.Remove in another, you need mutex serialization for that...
Mirek
More interesting question is whether I can use Add and operator[] (protected by mutex) at the same time in two different threads . Vector manual states that Add "Invalidates iterators and references to Vector."
It seems that answer to my question is RTFM and use Array + mutex