Is the problem here that we're trying to drain one handle at the time? I don't quite understand the fix, as it seems that we're already draining the handle in a different thread (right here!).