Question

Blockquote TimeCallBack object references a CacheExpires object, and is on 1 of the paths from BASE_RATE_SRCE_CODEInfo[] to a GC root.

I analyzed the C# application with memory profiler and found out that surviving objects BASE_RATE_SRCE_CODEInfo[] are refrenced by TimerCallBack objects. These BASE_RATE_SRCE_CODEInfo[] objects are not being disposed by GC, Which could be the possible cause of memory leak.

So, how to remove or dispose these references BASE_RATE_SRCE_CODEInfo[] to TimerCallback on GC root?

Was it helpful?

Solution

The surviving objects that you have mentioned referencing TimerCallback objects is being used in a Timer object. Identify why Timer objects are active. It is most likely that these Timer objects are keeping your callback alive.

For better understanding of Timer Constructor (objects) visit: http://msdn.microsoft.com/en-us/library/ah1h85ch.aspx

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top