Leave Matchmaking. Oaky. But back to lobby.

Sometimes when I select leave matchmaking and select okay. I return to the lobby only for a match to start (There seems to me enough time for the match to quit). I hate to quit so I often do not. But if I select leave I expect to leave. Does anyone else have this issue or is it just me?

It looks like its badly coded. Even when you do leave you return to the lobby wait a good couple of seconds then get some match splash screen.

sudo code
//what it should be like (notice its nice and simple all those special checks can be added to another flow and not when a player wants to quit)
if(matchMakingQuit) {
leaveMatchMaking(playerName);
show(mainMenu);
}
leaveMatchMaking(playerName) {
removePlayerFromLobby(playerName);
}

//what it roughly feels like (notice how much more complicated this looks) and this is what it feels like to me
if(quitMaking) {
playerWantsToQuitMatchMaking = true;
wait(TWO_SECONDS); // just in case we want them to play the next match
leaveMatchMaking(playerName); //we may already want them to play so check in this method;
if(playerWantsToQuitMatchMaking) {
leaveMatchMaking(playerName);
if(!playerWantsToQuit) {
return
}
show(mainMenu);
}
}

leaveMatchMaking(playerName) {
if(lobbyPlayerCount >1) {
playerWantsToQuitMatchMaking = false;
return;
}
}
I have taken the effort to write this I hope someone and 343 has a look.

Does anyone else see this issue or is it a non issue and I am being stupid?