I'm actually just guessing that each apache process reuses the same connection. You can log in to the mysql console and run 'show connections' to see which processes currently have open connections. When I do this, I see that even idle apache processes stay connected to the database.
Based on your apache settings I have a revised theory similar to what I originally suggested:
With MaxSpareServers set to 10, apache will only keep 10 idle processes running, and kill any additional idle processes. Since MaxRequestWorkers is 150, apache is allowed to start up to 150 processes to serve concurrent requests. This means that at the start of a quiz, apache has to start a large number of processes to serve all of the requests. As soon as these requests are complete, it kills off all but 10 of these, and possibly does not properly close the database connection, which means that mysql has to wait for them to time out.
It's also possible that there is something in your mysql (or possibly apache) configuration which is causing the server to wait some amount of time before closing these connections, but I'm not sure where you would start looking for that.
What OS and version are you using?