I don’t believe that’s the reason — the revocable attribute is directly associated with an entitlement. It comes into play when you’re attempting to revoke an entitlement directly, in which case it would prevent the revocation if set accordingly.
However, when revoking a role, the entitlements included within that role should be revoked as part of the process. Do you have an error message or any specific message ?