Given any input domain, you can choose an algorithm that will make bruteforcing the entire domain take as long as you like. As an extreme example, bcrypt with a work factor of 20 takes over a minute to calculate a single hash on a high-end desktop. (Of course, whether whatsapp are actually doing any of this is another question).
I'll give you an example. Here's a hashcode from a real phone number: 1786883671916465751. What's the phone number I used to generate it?
Even with hundreds of millions of observations, the space of possible hashing algorithms that map phone numbers onto those hash codes is infinite. Well, not infinite, but the space of functions that map phone numbers onto whatever domain the hash codes have is mind bogglingly large.