When a message gets rejected and rejectExecution is true, the rejected message is still assigned to the new time-slot.
When you use the throttler to secure against DOS going to the backend a DOS can fill up many time-slots.
I'm not sure whether this behaviour is the expected behaviour. My feeling says that the rejected message should not be assigned to a new time-slot.
Maybe the exception should be raised in the synchronized method that determines the starting of a new time-slot.