Thank you very much Pavel for you deep and detailed answer.
Should the USBD_Init, USBD_Start,USBD_RegisterClass & USBD_MSC_RegisterStorage activate from a dedicated task?
Does those USBD_x functions OS ready or should I make some changes\defines?
What should be the priority of this hosting task comparing to other application tasks?
Is there any reason why there is no FreeRTOS device example under the F4 Cube repository (...Applications\USB_Device\) while for the USB _Host there is?