I am trying to understand what is going on in app written in C#. Below are several images taken from Performance Monitor. The blue line is #Bytes in all Heaps. The green line is Large Object Heap Size. I start the app and log me in. The app remains idle. The first image shows that LOH increases for some reason and then drops. A pattern is very clear. What is responsible for such behavior?
More. I do some heavy processing starting in A (see image below) using an Oracle Database through ODP.NET. After that the app remains idle again. The LOH does not drop. Instead it keeps increasing for some reason. Note that the application is idle. It is just open in my desktop. I am not even interacting with it.
Memory keeps increasing (each image represents 1:15:00).
After more than 2 hours suddenly it decreases and after while it starts increasing/decreasing again (see below) as in the first image. All the time app is idle. What is going on? Is it a memory leak? I don't think so. We profiled the app and couldn't find anything. Also the LOH increases without any activity. There is no open connection with the Oracle Database. Can ODP.NET be the culprit?