Tente o seguinte em um arquivo em lotes:
@echo off
set tmpfile=%tmp%\tasklist~.txt
tasklist /FI "MEMUSAGE gt 5000000" | FIND "w3wp.exe" > "%tmpfile%"
for /F "tokens=2*" %%i in (%tmpfile%) do @taskkill /f /PID %%i
del %tmpfile%
Editar: na verdade, existe uma maneira ainda melhor:
Primeiro, você precisa isolar o aplicativo em seu próprio pool de aplicativos. Então você acabou de emitir o seguinte comando: % windir% \ System32 \ inetsrv \ appcmd.exe reciclar o apppool "MyApplicationPool"
(use% windir% \ System32 \ inetsrv \ appcmd.exe liste o apppool para obter o nome, se necessário)
Isso deve reciclar o aplicativo normalmente (a menos que esteja realmente preso).