Hi Ian Weston ,
Yes, a lifecycle management policy is generally the correct approach to manage and delete old versions and snapshots to optimize costs, it seems like your policy hasn't executed as expected. Ensure that the policy is correctly configured and applied to the storage account. You might also want to check if there are any delays or errors in the policy execution.
Unexpected Version Creation:
Versions should not be created if versioning is disabled. However, there might be other factors at play:
Even with versioning disabled, snapshots can be created manually or by other processes.
If object replication was enabled at any point, it relies on versioning, check the settings to ensure versioning was never enabled inadvertently.
Review the activity logs to identify any operations that might have created versions or snapshots.
Please do not forget to "Accept the answer” and “up-vote” wherever the information provided helps you, this can be beneficial to other community members.
If you have any other questions or are still running into more issues, let me know in the "comments" and I would be glad to assist you.