connection state and garbage clean up onDisconnect