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.