the problem is in the garbage collection but this is not the cause. The GC throws this exception when too much time is spent in garbage collection for too little return, eg. 98% of CPU time is spent on GC and less than 2% of heap is recovered. This feature is designed to prevent applications from running for an extended period of time while making little or no progress because the heap is too small. The cause should be in some of your actions creating a lot of objects (can be entity instance e.g.) where no references to these objects exist. These will be cleaned by the garbage collection leading to this error. So the real cause should be in a loop or processing of a large list or in a java action.
Hope this helps you finding the root cause.