I think you would be much better of by using a DisplayConduit to do the animation for you. That way you can have one mesh, move it by incremental transform operations, and draw it.
If you replace the mesh each 1/30th of a second you get a huge undo stack (each replacement adds to the undo stack) that will eventually crash Rhino.
Doing animation by continuing to replace the object in the document very inefficient and a great way to fill up Rhino’s Undo stack, which is why you “use lots of memory.” As @menno has mentioned, you should considering dynamically drawing the animation using a display conduit. Here is an example to get you started.