NodeJS socket FIN_WAIT2

I have a running nodejs server for socket communication with clients. After a period of time (few days) nodejs gets to 100% CPU usage. Looking at netstat for node port I found more than 1k connections with FIN_WAIT2 status (there should be only about 50 active connections). I'm using timeout function for connections, calling end() after specific timeout. But it doesn't seems to close the connection. So is end() valid way to close socket connection or should something else be used?