I am running SourceTree 3.0.1 and facing the issue, that branches that are checked out from remote branches are not selected properly in the push dialog.
We check out branches regularly from remotes for PR checking. Those branches are prefixed with the remote name:
remote = remotename
merge = refs/heads/some-branch-name
If you click then on Push, origin is selected instead of the remote that is defined in the git config. This seems to be a bug, as I would expect to see remote and the merge branch selected properly, similar to my own origin branches.
Not sure where to put this issue, so that it gets addressed by the Source Tree dev team.