I'm seeing a significant memory leak when loading ejb2 bmps remotely. I've found that any ejb2 bmp finder function has a leak on on the client side. The problem eventually causes our client application to crash with an out of memory error.
Below is a simple main function I made to demonstrate. If I run this program below using a single ejb2 findByPrimaryKey call, memory will grow rapidly. I traced it down using the Eclipse Memory Profiler to the org.apache.openejb.client.EJBInvocationHandler class retaining memory in a ConcurrentHashMap field called liveHandleRegistry. I can see "BMPTestHome:1" as the key and a HashSet of WeakReferences as values. Attaching screenshot of the eclipse memory profiler which continues to grow the longer the program runs (memoryleak.png).