When shutting down a kernel with compiled in USB support, the USB subsystem does not implement a shutdown procedure. On normal hardware this doesn't matter, but it doesn't work under UML. UML runs the kernel as a process, so when UML exits the host OS is still running. The USB subsystem must reset it's hardware at UML shutdown otherwise active DMA channels may be left running after their device drivers are freed. UML implements the standard device->shutdown or reboot notifier schemes, USB just isn't listening. UML is being modified to directly run device drivers like USB on unused hardware in the host.
The kernel needs to call all module_exit() functions on shutdown to fix this kind of "problem". It is not a USB specific problem.