Semaphore Count Exceeded

I’m writing a multiplayer game which involves Semaphores for various shared pieces of memory, I keep getting an exception saying the semaphore count is being exceeded, which doesn’t make any sense as there are no nested calls to WaitOne and Release that would cause this to happen.

Eventually I tried inserting several WaitOne calls one after the other, and stepping through them with breakpoints in Monodevelop. The program should halt after the first WaitOne call, but it doesn’t, it steps through them… What the hell could be going on?

Cheers
J

Can you post the relevant sections of code?