This is necessary by design. When you are performing a git-pull, the branch name you are pulling from is a remote branch. It has no choice but to contact the remote repository in order to get the list of possible completions.
Mac Git Bash Completion
You can prove this to yourself if you try to auto-complete a git-push command. Completing the branch name master will be much quicker because you are pushing a local branch, so you won't need to contact the remote repository.
If you want to make auto-complete always complete using local branch names, then you can change the behavior. This might only be useful if your local branch names are identical to remote branch names.