The MaxRequestsPerThread directive sets
the limit on the number of requests that an individual server thread
will handle. After MaxRequestsPerThread
requests, the thread will die. If MaxRequestsPerThread is 0, then the thread
will never expire.

Setting MaxRequestsPerThread to a
non-zero limit has two beneficial effects:

it limits the amount of memory that a thread can consume
by (accidental) memory leakage;

by giving threads a finite lifetime, it helps reduce
the number of threads when the server load reduces.

Note:

For KeepAlive requests, only
the first request is counted towards this limit. In effect, it
changes the behavior to limit the number of connections
per thread.