>> I've also tried making the components UIComponent based instead of >> using Canvas (as I believe it's a little more lightweight) but it >> doesn't seem to make a huge difference.
I'd have one UIComponent-derived object (Canvas would be fine) as the parent, and have your 50-60 dynamic objects be Sprites. UIComponent will bring in a decent chunk of memory per-object for all of it's management overhead. If you're having framerate issues, I'd look at blitting/double-buffering... but if memory is your chief concern, move higher up the class hierarchy. Troy.

