I imagine compression of JSON also adds significant overhead compared to ProtoBuf on top of extra memory usage.

I don't disagree that people go for ProtoBuf a bit too eagerly though.