Entitlements are taken away immediately as soon as we detect expired entitlements. However, there might be a delay within a single SDK session. Entitlements are synced immediately after a restart. This delay can be observed only in the sandbox environment since sandbox entitlements expiration time is very short, this scenario is not relevant in production. Long story short: within one SDK session there might be a delay but after a restart delay won't occur and all entitlements are synced.