Sitefinity Thunder Boolean Widget Designer Field Auto-Generation is Flawed
/* RefreshUI HasSubMenu */ jQuery(this.get_hasSubMenu()).attr("checked", controlData.HasSubMenu);
This means, no matter what you do with the checkbox, the next time you click “Edit” for this widget, the checkbox will be checked and your data is effectively corrupted.
/* RefreshUI HasSubMenu */ jQuery(this.get_hasSubMenu()).attr("checked", controlData.HasSubMenu === "true");
Now your checkbox will keep it’s value as you would expect.