I start from the same intuitions as the OP but they lead me to the exact opposite conclusion.
I consider my time a limited resource and the most important currency I have. Spending my time on trying your piece of software is already an investment on my part. You aren't solving anything yet for me. Finding out that your software does not satisfy my needs is a financial loss for me. I have now sunk costs into your software and got no ROI.
So when I take the time to sink even more cost into you and your buggy software, to tell you what I tried and how it didn't work, then please recognize that is highly irrational of me. The sane response would be to cut my losses and maybe publish a one star review of your cruddy work somewhere. :)
This view holds for both paid and open source software, by the way.
So the very fact that I do take the time out of my day to tell you about bugs in your software can only be explained by my idealistic and altruistic nature. (I'm putting it on a bit thick here to drive the point home)
If I report a bug to you, I am not doing myself a favor. I am doing YOU a favor. One that I have no expectation of getting paid for. Even if you go ahead and fix the bug I reported, that means I still sunk unnecessary cost into your enterprise. NB: I have no reason to expect the rest of your software to work. The very fact that I found a bug already makes it more likely that the rest of the software is just as deficient.
So the very least I expect is that you graciously acknowledge my bug report and the time I sunk into your project. I expect you to thank me for taking the time to file a bug with you. Why? Because if you fix your code, that improves your reputation, not mine. So I did something for free that helps you, not me.
Let me make this clear: The actor causing the cascade of fail here is you, not me. Had you published good software (or no software at all), we wouldn't be in this negative spot. I wouldn't have wasted time on you or your buggy software, and you wouldn't have to waste time deciding how to react to my bug report.
I think the way out of this dilemma is to document your software honestly.
If you wrote the software for yourself and had no plan for it to work for others, then SAY SO on the project homepage.
If you wrote the software to learn how stuff works, and are happy if it builds, but don't expect it to solve the general problem for others, then SAY SO on the project homepage.
I will then not download it if I was looking for a solution to anything, only if I also just wanted to learn how stuff works.
That said, my experience with reporting bugs has been very good all things considered. I would like to mention postgresql and llvm as being exemplary here. Their response to bug reports has been a shining beacon that led me to recommend their software even on paid projects I am involved in, where I feel crappy open source software I recommend could come back to damage my own reputation.
Also if all the bugs turn out being people using your software wrong, than maybe it's not them, maybe it's you. Consider making the UI more self-explanatory.