I assume (I don't know the actual logic, so I'm just speculating as you all are) it is a function that has some steps in it, causing weird effects.
Assume you can have 1 cleaner for 30 seats. And it takes a certain amount of time to clean one seat, let's say 0.5 minutes per seat. Furthermore, there's a limit per aircraft of number of cleaners you can send, cos they would step on each other's feet.
Having 88 seats (just an assumption) would have 2 cleaners cleaning 44 seats each. That would take some 22 minutes. Let's further assume you now add 2 seats, you would get a 3rd cleaner, and every cleaner now only needs to clean 30 seats, resulting in a cleaning time of 15 minutes.
I guess, it is something similar to that, although there could be more factors playing in, like number of (service) doors, classes, service profiles, etc. It might seems erratic, but the underlying logic is probably perfectly reasonable.