Applications written for the .NET Compact Framework (NetCF) typically run on machines with far less power that your typical laptop. Since performance is far more of an issue on these platforms, the .NET Compact Framework Team has added a new performance logger to the NetCF 3.5.
The new logger monitors the garbage collector for finalizer calls. When unmanaged resources are not disposed of properly calling the Dispose method on an object, the garbage collector has to take care of it via a finalizer. This prolongs the life of the object by at least one more GC cycle, impacting memory and other scarce resources. For some resources like database connections, it can even cause the application to fail at random.
By examining the finalize logs, developers can determine if objects are not being properly disposed of. But the log isn’t perfect; all it can tell you is what type of object was being finalized. The developers still have to search the code by hand to locate the resource leak.