I never mentioned anything about creating threads... all I am saying
is that your worker methods (be they thread-pool or otherwise) could
notify *something* to indicate that they are complete. I have just
tested it, and it "works OK for small values of works" - there is a
glitch that you can exit too soon if the pool item hasn't started yet
(and thus the counter is 0).
Another approach is to use a dedicated pool; I believe Jon has some
template code in his box of tricks:
http://www.yoda.arachsys.com/csharp/miscutil/
(see CustomThreadPool)
This should allow you to track when it is empty... or allow simple
customisation
Marc