My application appears to have a recourse leak. When the user starts
a background process, the handle count in Process Explorer (PE) goes
up by about 10, sometime 1 or 2 more, sometimes 1 or 2 less. When the
task is completed, there are somewhere between 4 and 7 handles still
open.

I am using an AutoResetEvent, but calling Close on it seems to have no
effect. I know in the unmanaged code I have to close thread handles
once I am finished with them, do I need to do something like that with
threads in the managed world?

I have gone through the code and it looks like I have all the lose
ends tied up now, are there any not so obvious objects which need to
be disposed? My process is loading images and shrinking them down. I
have checked the file objects, image objects, graphics objects and
everything is being disposed of once it is no longer needed.

Cartoper