What I'm observing is that after I close a TCPStream, I see at least one more attempt to connect a socket that looks like the TCPStream socket.
I think this is what happens, when you close a TCPStream, on line 102, we call socket.end. That causes a close event to trigger. Because of line 85, that sets a timeout for 1s later where we'll create a new socket.
I think the solution is to remove the listeners to the socket before closing it, at least the listeners that are created in tcp.js.