MSDN and Microsoft support web site have some great information on how to find memory leaks, both for managed application and native applications.

 

Unmanaged:

How to use Umdh.exe to find memory leaks

http://support.microsoft.com/kb/268343

 

Managed:

Debugging Memory Problems

http://msdn2.microsoft.com/en-us/library/ms954591.aspx