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