Apache's prefork MPM self-manages servers. It will always start with StartServers daemons, and will never run fewer than MinSpareServers once it gets going. It will also eventually retire/kill off servers in excess of MaxSpareServers if they're idle long enough (I don't recall what "Long Enough" is in this context, nor if/how it can be modified).
ServerLimit sets the maximum number of apache daemons that can be running at any given time -- This is why in your situation you can have hundreds of sleeping apache processes (they got spawned to service a flood of requests and haven't been idle long enough to be killed by the mother process yet).
Personally I think 1250 is a pretty high value for ServerLimit/MaxClients -- 250 may be a more reasonable number (though this may result in the occasional 503/Server Busy error if you get a massive flood of requests: if that becomes a chronic issue you can increase the number or add more servers to handle the load).
Relating this question to your previous oneyour previous one Re: an out-of-memory crash, definitely follow the guidance from the Apache Manual on this parameter:
Most important is that MaxClients be big enough to handle as many simultaneous requests as you expect to receive, but small enough to assure that there is enough physical RAM for all processes. …and my personal axiom: It's better to give a client a 503 page than knock the server down. :)