I'm not saying the GPU is the answer, and maybe 2.3 is the answer, but ignoring the problem is not.
(Edit: So why does a GC pause stop animation, and not just by taking up CPU time, since moving to the GPU would help in that case? Is the animation code itself written in Java and waiting on the GC? If so, I bet rewriting it in C would be a massive help. Also, yuck.)