Tricky networking issue - C#