The MDBs and Session Beans that perform the background processing perform fairly heavy file IO on a scheduled bases (local file IO and network file IO). I'm pretty much convinced that the memory problems are related to this part of the application. However, I am ensuring that all of my file handles are correctly closed and none of them are declared outside the scope of an individual method.
I'm also pretty sure that it is a memory "leak" since the amount of memory used grows each time I run the scheduled task and is not fully recovered when I force a garbage collection. I know that the EJB spec does not recommend file IO within EJBs but this application is very file based and a database is not really a viable alternative. Any help in possible ways to pinpoint this problem would be appreciated.