Also check for conditions that could consume your threads, which are limited to 5 by default in the old rule engine. Once used up, rules will trigger and queue up, waiting for a thread.
Read through this and make sure your executeCommandLines and HTTP Actions have timeouts…
Saving/touching your .rules files reloads the rules and frees up any threads hung by the rules in that file.