Because your client doesn't know that the profile exists or your relays don't return the information in a fast manner. Decentralized woes.
Discussion
When it works, why does it work? Is the client asking for npub info at every character after I type @? if so, where is it asking for that info.