Data usage largely depends on the number of features you want to present to the user at once.
New clients tend to be faster/data-leaner because they don't do much.
That # of features drives most of the pings, redownloads, metadata etc. For instance, if you want to make sure NIP-05 is valid, because if it's not it's going to be a problem for your users, you MUST check at every post. There is no way around it. That's a feature. And every feature has a cost. You can also choose to let a few hours pass before you alert your users. That will use way less bandwidth, but your users might suffer from it. It's a choice.