This is really puzzling me, here is a stack trace that shows calling shutdown on my socket has actually ended up creating another thread, which is casing a handle leak.