I am developing a .NET based application (.NET 4) that crashes after running for some time on a System.OutOfMemoryException
When examining the app's process in Task Manager or attempted to use other tools such as CLR Profiler and ANTS Memory Profiler, it doesn't seem like the application is maxing out on available RAM or any other limit that may be (I believe Windows has a limit per process as well as .NET itself probably is limited in some way).
Here's a screenshot from the ANTS Profiler from the time shortly before the crash.
Total amount of unamanged memory (in case it's not clearly seen in the image is ~ 285 MB, and total size of objects in all heaps is ~76MB)
I also checked the "Handles" count in taskmgr, looks to be around ~8120 handles for the app's process at the time of crash.
How can I further examine what is going on? What possible causes can cause such an exception?