If you look at a lot of GHI assemblies the enums and hardware specifics are always in a diferent place to the actual reference… I though it was for portability. There are more than one device to cater for…
Because USBH_Device is needed for other assemblies that need to link correctly, such as IO assembly.
In other words, if in your project you are NOT using USB Host, you can don’t have to add USBHost assembly and you can save some memory.