Registered listeners or connections only close their channel before terminating themselves (or in postStop()). Termination triggers unregistration in the selector. So the current implementation should avoid any leaks here.