Recurrences are a key part of batch scheduling. They also have a default feature (or trap depending on your perspective) that makes processes perform a catch up if they have been missed by the recurrence pattern.
What does this mean? Well for example if you use the delivered Daily recurrence and your scheduled jobset is stopped for a week and then restarted, the 6 days that were missed when the process should have run will all be scheduled and run at once on the process scheduler.
This can lead to havoc on your process scheduler and generally ends in contention issues as there will be more processes scheduled than can be run. The longer the catch up period and the greater the frequency of the recurrence the worse the problem gets!
This feature is almost always a bad idea and it should be turned off on all your recurrences by checking the Do not schedule any processes missed form the recurrence pattern check box.
If you ever do want to perform catch up, it usually in a controlled manner. Most processes are also designed to simply process what was missed and will catch up automatically by running just once.
Note if you want to script this, this is configured in the table, PS_PRCSRECUR on the field RECUR_USECURRDATE, a 1 means this is set, a 0 means it is turned off. To turn off the catch up trap, you want this field to be set to 1 (do not schedule any process missed form recurrence pattern is true).