Here is some information about the kind of problem which we are getting in the production server. Each time Beans are passivate it reserves some disk or memory space. When more and more bean Passivation takes place it reserves disk or memory space. Finally, the production servers shows 100% disk full. The temporary solution to solve this problem was to increase the file system size.
There might be couple of solutions to remove unused sessions from the cache, which continue to fill up the disk...
I am assuming that your production servers have enough memory to accomodate the load you are getting and your problem is purely an application problem.
Is this happening due to heavy load (multiple clients accessing at the same time ) ?
Have you specified the maximum pool size for your session beans ? Has the pool size increased the maximum level, when the memory leakage happened ?
I am not too sure if caching of session beans is the culprit ! Are you recycling all the session beans (sb.remove()) after you are done with them ?
May be more details about the problem would help.