We have a pretty large app that relies on many of your components. We have become aware of Memory leaks in our products that over time crash the application. Every time we try to track down where they are coming from it always ends up being in the unmannaged memory that ties to your objects.
One of the problems we have is with the Telerik RadGridView. We store a lot of data into these grid views and when the user clears the data in the grid views we expect the memory to be free'd up and not to keep stacking.
I went ahead and made a sample application to show you guys. All I'm doing is adding rows to the grid via a ObservalbleCollection<string> bound to the ItemSource and then clearing that ObservableCollection. When we clear we expect it to clear from memory. I even included GC.Collect() and GC.WaitForPendingFinalizers in the clear function for testing. No matter how many times I call the clear button the memory stays put.
I noticed if we turn autogeneratecolumns on it will then start clearing the memory over time but if we have it off it will never clear the memory I'm not sure why this is.
1.Open the sample eapplication (Attached).
2.Open Task Manager to View Memory Usage by Process.
3.Continuously add rows to the grid by clicking the add button.
4.Notice how the memory continuously goes up for the IExplore process tied to this program.
5.Click the clear button.
6.Notice how the memory never goes back down for that process.
7.No matter how long you wait or how many times you click the clear button the memory stays.