This is [releasing Zalgo](http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony).

Either don't take the callback at all (what's the point anyway when you are not waiting for connect to finish), or call it at the next tick (`process.nextTick(done)`). Consider calling the callback only after the `connect` finishes.