Fix FD leak in SocketHealthCheck.

`SocketHealthCheck` doesn't explicitly close the socket it creates, hence FD leaks are likely possible.