This is not the case when the disconnection is initiated by the server. If for example, you are sending malformed packets to the server (which you can do on purpose), it will disconnect you and you can get back in right away.
Under a typical disconnection, it is your OS that first determines that your connection to the server is dead and proceeds to close it, which the client will notice, throwing the 90k error in response. After that, it will take a while longer for the server to determine your connection to the server is dead (because servers have longer keepalives), at which point it will log you out, at which point you can get back in.
