Well, there could be many things.
1) Have you tried to duplicate it via a non-asp program, so that you know if it is in the DLL or the ASP?
2) If you know it is in the DLL, then you may want to look for circular references. Lets say you have two objects (A & B). If A & B both have a reference to eachother, then setting them both to nothing in calling module does not remove them from memory. Because COM objects are not removed from memory until there are zero references to them. But in a circular reference, there are still one reference to A & one to B. So these never die, and the memory is never recovered until the the app is reset.
3) It could have to do with settings in IIS, COM+, or other technologies that you may be using.
John R Lick
[email protected]