This behaviour is caused by the "make clean" being a short lived CPU intensive task. It was made worse by the facts that my simplifications to the sinbin duration calculation which assumed a constant CPU burst size based on the time slice and that exiting tasks could still have caps enforced. (The simplification was done to avoid 64 bit divides.)
I've put in a more complex sinbin calculation (and don't think the 64 bit divides will matter too much as they're on an infrequently travelled path. Exiting tasks are now excluded from having caps enforced on the grounds that it's best for system performance to let them get out of the way as soon as possible. A patch is attached and I would appreciate it if you could see if it improves the situation you are observing.