Currently, the UserOwnsGamePassAsync page only states that the method will return true if the user owns the gamepass. It doesn’t state that the method will always return true if they own the gamepass upon joining, or if they purchase the gamepass in-game the delay that comes before returning true. This should be stated so new programmers don’t get confused when it returns false even when they do own it.
The behavior I’m describing can be found on Release Note 350.
This post was created after answering this issue.