I totally agree with you but folks from the 80s said similar things about computing in the 90s. :) I can only imagine what the folks from the 70s would say. Like another poster said, it's not ALL bloat- there are lots of memory-hungry things going on in the background for user convenience that would have been unacceptable tradeoffs 10-20 years ago (in terms of how much system resources are consumed vs. the utility and convenience provided to the user), but on modern hardware those tradeoffs are less meaningful, and things that might have seemed wasteful 10 years ago become practical to do. I think a lot of it also from more and more graphics resources needed per app (high resolution images for UIs can consume an absurd amount of memory), as well as many apps being much more aggressive about caching stuff in memory for snappier response times (web browsers, or any kind of media-centric application). It seems inevitable that as memory gets cheaper, the average machine has more memory, and as the average memory of the average machine goes up, the perceived cost of memory consumption goes down, leading application (and OS) developers to figure out more and more ways to use all of that memory. It's a vicious circle (or a virtuous one, or both).
Well programmers should offer different version of their apps, or allow to disable those memory hungry features.
And honestly I'm not really sure that a feature that is memory hungry is really useful anyways, especially at that scale. At that point I feel it's all about the planned obsolescence, they just make algorithms that require to buy more hardware.
In that case software performance would only apply because of bigger hardware, not better programming. I'm sorry but with the computers of today, I really doubt programmers can invent resource hungry features that are really useful, maybe they can just do sloppy programming that requires more memory.