It happens because when the server load jumps above a certain number the software has to wait for this number to go back down before it thinks the server is okay. This is imperfect because load is measured as an average over the last minute. So the server can get a lot of traffic instantly, think it's under heavy load because of how the real-time-load averages with the numbers taken over the last minute, and bingo you get server busy messages. That's why it only happens for a minute at a time.

Really the only way to avoid this is to set the "critical" level to a higher number, thus minimizing the effectiveness of actually preventing a bottleneck, or turn it off completely which would do the same thing.

The spikes that cause this problem are usually due to memory availability and disk paging. I notice the server likes to freeze up right before it starts before reporting those messages so that would be my best guess.

Yes, it's annoying but it's not really anyone's fault.