I think all 3 of those main reasons you listed have merit, and ultimately it comes down to just being respectful.
Liability I don’t really care about that much but that does cause issues. But not at the top of my list for reasons not to do this.
You are right that a lot of races make a lot of money. But most are not anywhere near 5000 people. Think about the 100-200 person 5Ks. Also, think about those 5Ks that are ultimately trying to raise money for charity (A very large ammount of road races). The race directors are literally putting in all this time and resources just to raise money for a charity, and you’re enjoying all of that hard work for free.
Your third reason is tied pretty close to the second for me, but yes ultimately if people don’t feel the need to pay to race, then they stop paying, and that can snowball. If people feel like the can race for free, then that lowers the value. And again, if it’s a small race, like a 100 person race, and 2 people decide not to pay, that’s 2% of the revenue. And again, if that's a charity race, what’s the point of them putting in all the work for those two people?
I just don’t think it that much to ask people to pay. If you want to run without paying just go run on your own. It’s not the worst thing in the world but just seems rude to me.
While I realize liability has caused issues, it's again the fault of the legal system. And I've already noted that the bandit in question will not be causing these troubles.
To me, the only real reason to bandit a race is to run with a crowd or pace a friend and a 100-200 person race isn't much of a crowd and you probably don't need a pacer..... The smaller races are generally cheaper anyway. So while I would say being a bandit in these small races is "more wrong", it's still not absolutely despicable to me as long as they're following all the above stated guidelines.
I don't believe races will ever stop for lack of money.....at best they'll get by with donations. You could set a price point for your race calculating your cost and profit margin, every registration adds money to the website display, you hit your goal, race happens.