There's a really great article over at Stuart Parmenter's blog discussing memory fragmentation in Firefox. This phenomenon is what's causing Firefox to appear to consume so much memory. Most folks simply assume that Firefox leaks memory, mostly because they probably don't understand what a memory leak is. Although Firefox did at one point have a number of memory leaks, the majority of them have been plugged (see this article by Jesse Ruderman for further details).
It's great to see that someone is investigating this issue, and I find it very interesting that it's a fragmentation problem that's causing things to look bad. Hopefully we can see some fixes for this issue in the near future, and Firefox can get a better foothold in this department.
Update: There's a great followup article that shows some of the preliminary work going on to solve this problem.