The product you'll use to track it down depends on how you built the Web application. Most questions of this type come from users who have built ASP 3.0 applications in VBScript, and the reason memory leaks and repetitive failure is so common is that it's an inherent problem with that development environment.
While it's possible to write ASP 3.0 code that doesn't have memory leaks, it's very difficult to track them down. In a nutshell, on any given ASP page, your code should destroy any objects that it has created and close any connections that are opened (pay particular attention to database connections). Verify that all branches in the code allow for objects to be cleaned up properly.
Rather than putting the energy into tracking down those bugs, I would recommend you port the application to ASP.NET. ASP.NET applications are much less likely to have memory leaks. If they do, they won't cause the entire system to crash -- ASP.NET automatically and transparently cleans out its memory without affecting users of your site.
This was first published in April 2003