The problem with this was that I was using the same queue receiver for each thread. If you synchronize the receiveNoWait method this problem seems to go away.
One last note\observation... The previous fix I mentioned solved the initial problem but it just exposed other problems. I started getting invalid transaction id exceptions. So, I would recommend not sharing a reciever among multiple threads. I don't know if this is a bug in jboss, or if it's part of the JMS spec and you just aren't supposed to do that. I'll leave that to someone else...