strange behavior with character movement using ApplyImpulse

My character jumps when I accelerate it using ApplyImpulse.
The same behavior happens using PhysicsVelocity.

 public void Execute(ref PhysicsVelocity velocity, ref PhysicsMass mass, ref Translation translation, ref Rotation rotation, ref PhysicsMovementComponent movementParams)
{
    float3 impulse = math.normalize(movementParams.Direction) * movementParams.Acceleration;
 
    ComponentExtensions.ApplyImpulse(ref velocity, mass, translation, rotation, impulse, mass.CenterOfMass);
}


Is this a bug in the physics system or my error?

Edit: The effect does not occur with gravity factor 0.

Total same question, how you fix it

Would it be possible to get a sample project showing the problem?

Is this using the CC sample code or all your own systems? ApplyImpulse ultimately just changes PhysicsVelocity anyway. What direction is the impulse being applied? Can you draw it on screen to help with diagnosis (or point out the impulse)?
Are there issues with local/global reference frame (e.g. are you applying the impulse in local space when the ApplyImpulse function is expecting world space)? If the impulse is pushing the CC into the floor, leading to an interpenetration, then you will get an upward impulse pushing the body out of the floor.

Also, fyi, there is specific DOTS Physics sub-forum here: DOTS Physics - Unity Forum