I've had my perimeter ISA 2004 box fail on several occasions under high load (~600 concurrent SecureNAT clients) due to low memory conditions, courtesy of sqlservr.exe. Enough is enough. It consumed 4 GB of RAM.
I found a script that makes this memory limiting quite painless. There are a plethora of other ISA Scripts at this site that are very useful. Highly recommended on any ISA Server! Just grab the ZIP file.
http://www.isascripts.org/
ISA_MSDE_Max_Memory.vbs
Displays or edits the maximum amount of memory the MSDE service (sqlservr.exe) is permitted to use, since database logging can sometimes cause a memory leak.