The socket client was starting a thread that tight looped to remove items from a queue. Each iteration of the loop where the queue was empty (most iterations) threw an exception creating massive amounts of GC garbage. This code was also not threadsafe, so locks were added.
fixed possible race condition
moved setting signal inside critical section to avoid possible race.
Merge pull request #2 from uken/fix_spinlock_exceptions

The socket client was starting a thread that tight looped to remove item...