I'm not sure what is causing the hangups in your case. The module sounds like it's still responsive if it can accept a reset command. Maybe the serial board itself? If you are interested in exchanging it for a new one, send me a PM.
When my module stops responding the serial data item on the module page just says "Listening..." When it's working the serial data item shows the data as it is being transmitted. I don't know if that says anything about what point has stopped.
What I'm doing is capturing a serial data stream, bundling it into packets and uploading it into a website using the serial API's GET command. Here's a question: what happens if I send GET commands faster than another piece of the chain can handle them? In my case I've got the serial device creating data, and the web site receiving it, and I can't control the speed of either. My serial device generates a packet about every ten seconds. While that's not a huge load for a web server, the nature of the web seems to be that every now and then you get a web request that times out or arrives slowly or doesn't make it for some reason. Can the IOBridge handle a new GET request when a pending one hasn't finished yet?
If my serial device is creating data faster than my website can process it, the only graceful solution is that some some packets are discarded.