"X-Wait" doesn't mean it's never coming back... if you notice it, it means that response time is slower than you expect but it still might come back. Many mainframe block-mode terminals and application "servers" like CICS (CICS is most analogous to Tomcat though the comparison isn't exact) "lock" the terminal until the transaction response is produced, to keep people from entering hundreds of transactions in a row and losing track of which response goes with which transaction. So, if a transaction is delayed for some reason, your terminal is still "locked". Impatient people don't like the situation, reset the terminal emulator, and enter the transaction again - but the only effect of that is to throw away the result of the first transaction when CICS goes to send it (because the terminal session was lost) and put your transaction at the back of the queue.
That's not to say that things _never_ get hung up in the locked state, of course there are failures where the response never comes back, but it's good to pick some amount of time (30 seconds, 1 minute) to wait before going through the "throw it away and start over" process.