It makes sense to me that GDI+ uses unmanaged code. I'm still researching the claims that database stuff should always call Finalize. It makes sense for OLEDB, but not managed providers.
>Craig,
>
>GDI+ Pens, Brushes etc. are all wrappers around unmanaged resources.
>
>The Dispose pattern is there to give you a similiar capability to C++ ie. deterministic destruction. Contrary to popular belief, you can still easily leak memory in .NET even with garbage collection.
>
>You should really stay clear of Finalizers (~) and not Dispose.
>
>Regards
>Neil
Craig Berntson
MCSD, Microsoft .Net MVP, Grape City Community Influencer