ContextActionService buttons "stick" occasionally

Hello, I have been having issues with touch buttons created by ContextActionService, where they will they will fire the Enum.UserInputState.Begin without issue everytime, but will occasionally not fire the corresponding Enum.UserInputState.End.

This leads to inputs “sticking”, which can then only be reset on an additional button press. This feels pretty bad for the end user as you can imagine, and I can’t figure out why it would be happening.

This never happens with keyboard inputs, and can be replicated every time. It also occurs on actual mobile devices and also outside of studio.

Here’s one of the functions attached to the ContextAction binding

local function SetForwardThrottle(actionName : string, inputState : Enum.UserInputState)
	if inputState == Enum.UserInputState.Begin and actionName == "forwardThrottle" then
		valAdjustThrottle(true)
	elseif inputState == Enum.UserInputState.End and actionName == "forwardThrottle" then
		valAdjustThrottle(false)
	end
end