It is much more likely that the limit is there for performance considerations rather than memory use.
The memory needed to store 96 timers and 576 events shouldn't be much more than a few hundred kilobytes, I'd be surprised if it's more than one megabyte.
When you do get to 96 times or 576 events, you'll notice that skipping events and such is much slower than if you only have a handful.
I would guess that the limit is merely there to control possible complaints about slowness.
What I've noticed (on my 622) is that it works fine if you have 96 timers, however if you get to 576 events then strange things start to happen.
For example, it will stop adding events to certain timers, even if the number of events dropped below 576 again.
What I mean by that is that when you look at the upcoming events for a timer, it will show no events or only a few, while if you do a search, it will clearly show events that should be in the timer but aren't.
Unfortunately, just about the only solution when this happens is to recreate the timer.
If the event list stays below 576, I don't have this problem.
I suspect that this problem has more to do with the way the handling of the limit is programmed, rather than any sort of memory or other resource shortage.
Most of the time I have 96 timers, but I don't get to 576 events very often.
When I do though, it can be nightmare of constantly monitoring that you don't miss anything because the timer stopped working.