Auto Renewal Subscription Interval inconsistency

We are developing an Auto Renewal Subscription feature. While developing we face an issue with subscription interval. User chose to downgrade to a monthly plan after subscribing to the yearly plan. Expected behaviour is monthly plan should come in to effect from the next renewal. But the subscription is getting updated to the monthly interval immediately after this action instead waiting for the next renewal. This happens in sandbox environment. 

Is this a sandbox behaviour or the same will happen in Production as well?

Thanks.