Not at all. Have you ever thought about caching Twitter? It's an archetypical example of a site that's extremely difficult to cache well, which is the source of so many of its scaling problems.
Every person's new feed is uniquely generated based on their followers. That means you can only at best cache at the individual tweet level -- you still need to uniquely generate a news feed for each user. This means that for every user you need to individually grab information simultaneously from the same high velocity tweets, while still being able to present information to each user uniquely based on conditions regarding how twitter should display tweets for that specific user individually. That's incredibly demanding data wise because it makes horizontal distribution of load much more difficult --- a huge number of people are all making demands on the same set of data resources, and you can't easily cache that data because of how real time and quickly updating it is.
In comparison WhatsApp on Erlang is basically just an example of extremely dramatic real time horizontal scaling. Hosting hundreds of millions of simultaneous chats is relatively trivial in Erlang, given each one is operating under its own separately scalable chat process. Since very few chats share data with one another, horizontal scaling is easy because you don't have the issue of the same resource getting called simultaneously by millions of unique users at the same time, who all need that resource represented back to their own news feed in differently categorized ways.
tl;dr: WhatsApp with the right technology is WAY easier to scale than Twitter.
---------------
(Speaking of the magic of Erlang for chat programs, this funny video "for Ruby/Node.js hipsters" explains how Erlang does this magic quite well: https://www.youtube.com/watch?v=rRbY3TMUcgQ) )