FInterpTo is not Interpolate to target value fully

I’m trying to implement crouching in C++ using FInterpTo in Tick and trying to set capsule half height from 96 to 48. With below code capsule height is interpolating to 65 instead of 48 and its directly linked to capsule radius. If I change capsule radius to 48 from 65 then FInterpTo is interpolating to 48. I’m not sure why capsule height interpolation stops at capsule radius? can anyone please help me in figuring it out or a way to make it interpolate till 48 even if capsule radius is set to 65. Thanks in advance

FInterpTo Code in Tick: GetCapsuleComponent()->SetCapsuleHalfHeight(FMath::FInterpTo(GetCapsuleComponent()->GetUnscaledCapsuleHalfHeight(), TargetHeight, DeltaSeconds, 10.f));