I think the away game to Fiorentina, where he’d finally gotten one last chance to be put in the starting lineup and thereby redeem himself, was the tipping point for many. If nothing else, he could’ve put in energy and efflort, literally in a last-gap, nothing-to-lose and everything-to-gain situation.
Then, the second half rolls around, and the cameras catch a shot of Spalletti casually jogging to his technical area - with much more urgency than Joao Mario had put in the entirety of the first 45 minutes.
Personally, it was the Coppa game against Milan, where he missed a sitter a toddler would’ve without a shadow of a doubt scored, and in the process made Gattuso and the ugly step-child of the Donnarumma family heroes, that broke the camel’s back..
Forever and always: Fuck Joao Mario.