Safe to have multiple UObject Classes in one Header?

More specifically, will having multiple UObject classes in one header with Generated_Body() for each cause issues with UBT?

For context to the question:
When I prototyped my project I was doing this for parent-child relations in certain cases (as the children each represented a different value type contained) and it was fine until a certain point.

Without going into too much detail, after completing the prototype and beginning a UI, I ran into a compilation error which was essentially a UPROPERTY()/UCLASS()/USTRUCT() limit. Adding any more would break all my forward declarations and force me #include each forward declaration in the project in order to compile (which I never tried to see if it would compile beyond a few #includes).

not for me, I usually have a bunch of USTRUCTS, UENUMS + a single UCLASS in a header file. All use this GENERATED_BODY() macro with no problem.

Thanks for the input, I wonder if UCLASS is treated any differently by UBT.