Hello Abhijeet,
welcome to the forum.
Finding OOM will be a difficult thing. You might use a profiler or JVM tool to analyze the heap dump and find out what kind of objects are fill the heap and get not freed.
Often it is a Collection which hold unwanted references. A root cause will be (i.e.) to have a StatelessSessionBean which include a collection as instance- or static variable (which is not according to the spec btw)
If you see the problem periodically you might find the use-case and use a test environment with a profiler to see what objects are increased by-call.
good luck ;)