So I'm having issues with the latest version of SourceTree (4.0.2). I'm currently on Big Sur, but I've had the same problem with Catalina and with previous versions of SourceTree.
The basic issue is that I create a stash on a branch and then at some point in time later on I come back to it and attempt to apply it back to the same branch.
When I do so I often get an error message that states that I have some uncommitted files in my branch that would be overwritten by the stash and that I should commit them first.
I'd be happy to do so... BUT THERE ARE NO UNCOMMITTED FILES IN THE BRANCH.
Do a command-R to refresh the branch and it shows as clean.
If I drop down to the command line and do a `git stash apply stash@{0}` (for the correct stash) it appears to apply correctly.
SourceTree seems unable to accomplish the same thing. Attempt apply, get error, and nothing is applied.