Just about anything can be construed as a policy violation if an admin wishes it to be so. Our plethora of policies with plenty of weasel wording even inside the policy explanations is ample fodder for that, nevermind that even if we had copper-fastened perfectly-written entirely self-consistent immutable policy, it would still be open to individual interpretation.
That is, of course, entirely by design. It's even written out explicitly on WP:IAR.
The problem is unfortunately far greater than individual rights or wrongs, or even the general behaviour and conduct of editors and/or admins.
I disagree. The problem is entirely to do with user conduct. The policies are built on the basis of trust - we trust users (including admins) to interpret them in a way that is beneficial to the project and give sufficient leeway to allow policies to be moulded to fit each situation. It's when that trust is misplaced that we have a problem. When it's a fairly new user that isn't trustworthy, it is easy to force a better interpretation on them, with blocks if necessary. When more established users, especially admins, interpret policy in a way that is harmful to the project (which is, of course, a matter of interpretation in itself) we have a more serious problem, and one we are not particularly good at resolving.