Someone has to emotionally decide to put X amount of hard earned money on something before hand. The rationalization of this affects the overall experience. When an item is free their commitment to the app was zero.
There was a fascinating study about this.
Festinger, L., & Carlsmith, J. M. (1959). Cognitive consequences of forced compliance. The Journal of Abnormal and Social Psychology, 58(2), 203.
Where participants were given a task to convince other people to perform a long and boring task. One group was given $1 to convince people while another group was given $20. They found the $1 dollar convincers actually believed what they were saying where as the $20 group shrugged off their actions to convince people to perform the boring task as, "I did it for the money." $1 was too low to rationalize away.
This is something I wish more people understood. It explains so much of human behavior when you realize that all (most) rational reasoning is merely a justification of their already decided upon stance.
I think you should always charge something - even $0.99 - just to filter most of the casual users and get a more qualified (and invested) customer.
I look at it like the old shareware titles. I get a free demo that's either time limited or where I need to pay to unlock the full version. That way I can test the software or play the game or whatever, then if it's something that meets my needs, I can pay $1-10, secure in the knowledge that I won't be disappointed or surprised after buying something that turns out to be unwanted.
I'd say that the vast majority of apps and games I've purchased worked that way. Free download, mess with the app or play the first 5 levels of the game and then when I run into the limit where I need to pay, it's not a big deal because I know what I'm getting. The plague that is pay-to-win or other microtransactions in games is awful but that's probably not too relevant to this thread and is just as big a problem on iOS.
When I see the comments on the Play store or the App store, full of people complaining that the dev has the gall to ask for $1 or $2 for some useful or entertaining bit of code, it is very disappointing. That's the sort of money people pay for a Coke or to have someone drive a pizza 10 minutes to your house. I feel like if I get more than a day or two's use out of a mobile app, it's easily worth at least a buck or two and I'd vastly prefer to pay once than to deal with popup ads or recurring subscriptions and microtransactions.