Many ASP.NET developers are not aware of the ability to restart the ASP.NET worker process at given intervals in code. While IIS6.0 makes a number of these features available through the UI, most of the features can be used in IIS5 and 5.1 as well. I've found this useful for rogue components that are consuming memory and this provides a bandaid fix until the root problem is identified.
The <processModel> model configuration setting allows you to set limits that any given running ASPNET_WP process will operate under until it's recycled. For instance, if I set requestLimit="10000", a given ASPNET_WP process will run until 10000 requests have been serviced. At that time, a new ASPNET_WP service will start and requests will be directed at it. The old ASPNET_WP process will then be shut down.
This setting can be made in the machine.config file and affects all processes .Net processes on that machine. The related MSDN article can be found here.