My question is who buys Bitcoin at that price..?
Anybody who wants to buy, people can buy Bitcoin whenever they want to. Bitcoin pricce right now is above $52,000, some people are actually thinking it is too high to get in now, whilst others are buying, this would be the same scenario when it goes as high as $500,000, some people would refuse to buy because they think it cannot rise far more than that, until they witness it get to $1m.
Having said that, both $500,000 or $1m is very far from now, Bitcoin price is not going to rise as high as this in a short period of time, it will take many years, coupled with a few more halvings, other events, and more demand.