I had the same issue and I've resolved using local task service (transactional). With apache mina I've lost much time with varios problems. With mina you can't run in a transacction the operations.
I create one (persistent) session each time I create a process, no one global session as you do, but not matter how handle the sessions. I suppose have more control on the memory used. But I must fix a class, check https://community.jboss.org/message/722803.