1. when the client is also accessing the system
2. QA team performing testing in the same CRM Instance
3. Your team members may be using the system or in a debugging their code.
So instead of doing a IIS Reset, you can do a Application Pool reset. But normally that need to open the Internet Information Service (IIS InetMgr.exe) and need to navigate to App pools and you have to manyually reset all the relevent application pools.
Instead of that you may create a bat file, and call once.
@echo off
echo.
echo recycling 'CRMAppPool' Application Pool
%windir%\System32\inetsrv\appcmd recycle apppool /apppool.name:CRMAppPool
echo.
echo.
echo recycling 'CRMAppPool' Application Pool
%windir%\System32\inetsrv\appcmd recycle apppool /apppool.name:CRMAppPool
echo.