My take on this is that the OP's approach is completely wrong, though much of the advice already given is correct.

1. You should use a single timer - and the alias you call should then issue the next timer.

2. If you need to refer to a list, you should store it in a hash table - use SLOTS = 1 if you need to preserve the sequence or SLOTS = Min(number of items,10000) if not. If you use SLOTS = 1 then you need to consider the performance of finding the n'th item (which will increase as n increases because it has to work its way down the linked list) and instead delete the first item in each iteration so that you are always referencing the first item.