That is patently false. Way back when, I could move my funds back and forth from two different wallets 55,000 times and not spend a satoshi on anything (ah, the days before mandatory transaction fees). Now it would get expensive, but I guarantee a sizeable chunk of those funds aren't being spent on services or products.
Is there any way to capture what fraction of transactions represent BTC being spent vs gambled/shifted between addresses? That seems like an impossibly large task to me right now, but I'd be curious if anyone's attempted to ballpark this.