Can someone please help explain how the apppool and perl.exe processes work on IIS7 with a Catalyst MVC app

I have a Catalyst app that uses FASTCGI through an app pool to manage the application requests.

I have noticed that there were 20+ perl.exe *32 processes running each grabbing @ 50mb of RAM = 1GB+

My understanding was the Perl Catalyst app runs as a service and serves all requests.

So I would have thought only a single perl.exe process would be running for the application pool.

As I seem to have so many processes running, this can't be the case, so understanding how the app fires up these perl.exe processes and how I manage resources on IIS better is appreciated.

I have spoken in the IRC, and have been advised it's related to the way fork is used and windows not supporting it so it uses threading to fake it inefficiently.

Any input to help me wrap my head round all this and understand the mechanics better is appreciated.