Remember to use the JVM Connection Factory "java:/ConnectionFactory" in JNDI.
JBoss has to use serialization internally to "copy" the message to the receiver. There is no spec-compliant way to deliver the same object instance to your receiver that was sent. JBoss uses ObjectOutputStream and ObjectInputStream to clone the message.
If you want to help performance a bit, you can turn off persistence. JBoss also has to serialize the message once to persist the message to disk.