While I do agree that you should avoid such long convoluted lines, I don’t really see any issues with the use of the ternary operator here. It’s really just a true / false to 1 / 0 conversion in both cases.
However the input could get stuck when your game looses focus while a key is down. That’s essentially the only case I know where that could happen.
What platform are you on? Does this happen in a build or in the editor or both? According to this thread it seems that mostly Mac users are affected but there are also some reports of other platforms. Could you narrow down the cause to a certain combination of actions? Sometimes it could be keyboard related due to key ghosting issues / overlap. Though such problems should effect other applications as well, at least when similar key sequences are pressed.
It’s hard to tell from the given information. One way to debug the issue may be to log key down and key up events either in update or OnGUI in general.
Since you seperated the input manager from your controller, is it possible that the input manager is somehow deactivated or is loosing it’s controller reference? In that case it would be obvious that the value get stuck since it is no longer updated. As Kurt said, you should add some more Debug.Logs or other means to debug the issue.