The question isn’t “is this a flagrant foul?” The real question is “should that have been a flagrant 2 and should Dwyane Wade have been ejected?”
This is clearly a frustration foul as it came directly after Wade thought he should have gotten a call, and also in the midst of the Heat coming apart at the seams in their loss to the Pacers. But frustration is not an excuse.
The rulebook says for a foul to be a flagrant 2 (meaning a suspension for the next game) it has to be “unnecessary and excessive contact.” How else would you describe what Wade did? He certainly didn’t make a play on the ball. I think you can make a good case he deserves a flagrant 2 and to sit a game, but my guess is he only has to write a check.
Why no suspension? Because Collison walked away — the league always seems to punish based on the result not the act — and because this didn’t really escalate.