Such a speed is beyond my understanding, to be honest. My local activity instance running one process test on mocks does something like 1.5 script tasks per second.
How do you set up retry counts/times for failed processes? Something you describe can happen if you have nearly zero retry timer and a lot of retries, so failed job gets executed over and over for each of 30 failing processes. Otherwise activiti should try them once and sleep happily for the duration of retry interval.