What's the use of the garbage collector they implemented some alpha versions ago then? To ensure it didn't go much worse? I said it some other time and I repeat it again, I suspect the use of XUL is being a hindrance to Firefox development. The funny thing is Ben Goodger wanted to create a lean browser without all the fluff the original Mozilla Suite had, and judging for their posts in his blog, everyone at Mozilla didn't like the monster that Netscape 6 was, but even then, they insist in the usage of an old and ineffective toolkit, instead of opting for something well developed, like GTK (*ahem*) or Qt.
I also think one of the main problems lie within the 'back' cache (ya know, the feature that stores information about visited pages for each tab). I saw Opera climbing up memory usage after browsing through heavy graphics-based sites (and when I say heavy, I say HEAVY, talking about 250 images with a mean of 150 KB per picture), but it never passed back 300 MB. I close the tab, and everything goes back to normal. Firefox has fewer features than Opera, what could happen if you install a extension like the mentioned here, which seems a bit intensive when it comes to graphics? >_< . I won't talk about memory-leaking extensions as well...
With all the Web 2.0 sites around, that demand memory as any desktop app, the guys at Mozilla have to fix that first, before developing innovative, but memory-hungry features. If they really think as themselves as the Web 2.0 browser, some things have to be fixed before prime time.
(Last paragraph added just to place emphasis in the idea that this is not a Firefox-bashing and Opera-adoring post
EDIT: Typos and some rephrasing