I can create custom menus using my Admin menu class (implements INavigationProvider), but I cannot find where the default menus are being constructed. How is the default admin menu constructed so I can disable, or not create it from C# side?
The default menus, like all menus, get created by modules. Its just that some of those modules are included in the CMS. If you enable those modules, they add their menus.