As for the contract, it was a $1.6B contract, not small. And sure, it wasn't a grant, something was expected in return, but in practice, it was essentially the same, SpaceX wouldn't have been able to survive without it, and grant or contract, had they missed the chance, it would have been the end. Also, the US regularly gives new contracts to SpaceX, and I suspect at an inflated price compared to purely commercial launches. In theory, these are not subsidies, but in practice, I can't imagine NASA and the US government not do anything in their power to keep SpaceX healthy as they don't have anything better by far.