How can I programmatically delete a custom menu?
Since menus are configuration items, my poking into \Drupal\Core\Menu\MenuTreeStorage::delete() was wrong. You delete a custom menu thusly:

\Drupal::configFactory()-&gt;getEditable('system.menu.name-of-custom-menu')-&gt;delete();


Note that I'm assuming the menu is empty. I don't know what would happen if you deleted a menu that had menu items in it, whether they'd be orphaned or deleted.