Sticky SeatPart property when setting .Sit swiftly after sitting

When using this code, the Humanoid’s SeatPart property gets stuck as the Seat the humanoid was sitting in:

local h = script.Parent:WaitForChild("Humanoid")

local function updateMovement()
	if h.SeatPart then
		h.Sit = false
		print("I am sitting in a seat",h.SeatPart:GetFullName())
	end
end

game:GetService("RunService"):BindToRenderStep("TestControlStep", Enum.RenderPriority.Input.Value, updateMovement)

When the SeatPart property ‘sticks,’ players are unable to jump or sit in any seats until they reset.

Setting the .Sit property to false causes no issues a short time after sitting.

This bug causes a critical error in the code linked below:

This bug was discovered in Play Solo mode on production.