Manchester City just escaped a UEFA ban after breaching the Financial Fair Play policy by a whisker. I don't think they will be looking to risk again any time soon
Yes and no.
Messi has a lot of release clauses on this contract.
He had one clause when he could leave for free in May 2020.
He will have one clause to leave for free in June 2021.
And who knows if he has more clause like the one Juventus used to take CR7 2 years ago.