When I perform branch -a:
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/hello
remotes/origin/master
Note that git branch only allows for deleting local references.
git branch -r -D origin/hello
That only delete the local pointer to a remote tracking branch, but that has no influence on the remote repo content itself.
Only the git push origin :hello, as mentioned in the other answers, would do that.
Plus, that doesn't change the config branch.hello.fetch: it still references origin/hello, which is why the next fetch will re-create the remote tracking branch in your local repo.