I've manage to solve the issue by adding this check before deleting the canvas's gameobject in PlayerMenus.RebuildMenus method
if (menu.title == "Subtitles" && menu.GetsDuplicated() && !menu.IsDuplicate())
{
continue;
…
Hey Chris,
I was eventually able to figure it out. I was saving from a custom menu which disabled movement and interactions and the SaveSystem was saving/loading those in their disabled state.
Re-enabling the those in OnBeforeSaving fixed my issue…