I am trying to find an explanation of how the ANTs profiler starts a web application running in IIS.

If my application is running and I start the profiler, it appears to start a second instance of the web application. Files that are opened by our log tool ( log4net ) are still locked by the original instance of the application.

Although I can of course restart IIS and then launch the app for the first time using the profiler, I am hoping to understand how it's possible two launch the same app twice. Does the profiler start its own app pool?

It's pretty simple really -- ANTS Profiler just leverages the ability to launch w3wp.exe from outside IIS. It will create a cut-down configuration file based on your applicationHost.config and then start w3wp.exe -h <configFile>.

(note it's slightly different for IIS v6)

This poses some restrictions, namely that w3wp is running as you and not the account that normally runs the application pool (ie NETWORK SERVICE), you cannot launch any web apps that require SSL, and you must dedicate an unused TCP port to this worker process.