The best way to avoid this would be to use SSH but Stash should be able to store your password.
Go to Tools->Options->Authentication and make sure that your hostname, username, and password are all saved there.
Screen Shot 2015-05-04 at 1.33.55 PM.png
I had the same. Very annoying. Finally I figured out it had something to do with my account being remembered twice. As myRepoSiteName.com and http://myRepoSiteName.com ->
remove the second one as short version will be added automatically. It helped in my case. Hope it works for you as well.
I had Bitbucket account saved in the first and second position (short and long version) in the "saved passwords " list.
Source Tree kept asking the third saved password, continuously.
I deleted the long Bitbucket version. Your solution worked for me!!
Yes - this solved, I had >1 account saved as well.
Add you BitBucket account, use the Oauth verify account - then ensure you only have one BitBucket account - set that one as default - close down SourceTree and start up again - finally the incessant prompt gone - +1 vote for this.
Remove all other authentications section in sourcetree other than git hub.
Then click Add or either go to Hosted repositories(to quickly check if it was successful) and click on edit accounts.
In credentials select OAuth and select refresh token. You will be redirected to bitbucket website and click on Grant access.
Now goto your fresh account in sourcetree and select Set as Default.
Done. Now you should see all your repositories in hosted repositories. It shows login error if it is not successful