Using ConstructObject to create a component dynamically

I was using this forum post and I am attempting to create a UInputComponent to push/pop on the input stack using the following code:

RelevantInputComponent = ConstructObject<UInputComponent>(UInputComponent::StaticClass()->GetClass(), GetOwner(), InputComponentName);

However, this fails with the following error:

Object Class TillerActionPoint1_InputComponent created in ActionPointBoat_C instead of Package

I am calling this in UActorComponnet::InitializeComponent, what am I doing wrong?

This question contained the answer for me, using the following code works:

RelevantInputComponent = NewNamedObject<UInputComponent>(GetOwner(), InputComponentName);

Presumably you still have to call things like RegsiterComponent etc as described in the original forum post to get the full behaviour.