It seems to be issue on the server end of stuffs.
From my understanding by working on similar types of servers (emulators), their login and queue servers are paired together. Think WoW realm server.
Login server receives too many requests and becomes overloaded, queue server is already at peek capacity and will not process requests to enter the queue, thus your connection to both are dropped resulting in 2002.
Queue servers should never become overloaded in first place as this defeats the purpose of a queuing server. It is occurring because the world cannot permit your entry yet the queue server attempts to parse that request despite this. It probably is doing so because both world server and queue server are overloaded. Queue server goes umm, hey I have this person ready to enter the world! The world server says, hey wait I am full! The queue server is overloaded and does receive that message from world server so just well.. drops your connection as there is no more room in the queue for you anymore.
They did attempt resolving of this by expanding the number of slots the login server can accommodate but that is a solution most amateurish. Take this lala's words with many many grains of salt. I have not worked in this field for much time. This is umm also serious dumbing down of actual technical side of things. Attempting explaining in English is not fun either..
Edit; Hmmm! I have perused that most informative google doc, many thanks to whomever wrote that!
The only reason to have a client willingly terminate connections after prolonged periods of time that this Mia can think of would be that the server cannot communicate to the client that it may be overloaded. Fifteen minutes is quite lengthy for past queue times pre expansion and reasonable amount of time to assume something has gone wrong and retry connection. It is likely the client assuming the connection has "stalled" when it indeed has not. It is also amateurish..
I am not being mean in saying these things, I only speak the truth and even that doc explains that this is silly. There are simply things you do not do in this industry and have been known about for decades.
Edit 2; Actually there are many other reasons why one may wish to auto terminate a connection like this and interrupt the next payload of packets. None of the reasons that enter my mind are good coding.. it actually makes the brain hurt thinking about. I cannot believe I worked on this nonsense so many years ago nor how many commits I made to help resolve issues like this only to.. you know what I have said my bit.