The Atom Server needs to distinguish between a Client and a ContentServer. If it can distingiush between the different types of connection then it can create a new thread type to handle thing differently.
Heartbeats are not sent to the server so the server has no way of checking every 12 seconds whether a socket is closed or not. It can handle the connection checking using the thread that is already created assuming the heartbeat arrives. Clients will eventually need ids in order to perform a correct deletion of feeds