WhileLoop and Infinite Loop

The while loop will only complete when Running is set to false, which will only happen if the Run action key is pressed whenever Speed Duration equals zero. But once the key is released, it’s instantly set back to true and your loop runs again when it probably shouldn’t.

Going off the Max Walk Speed values you’re setting, it actually looks like you’re setting your booleans backwards. You would want to set Running to true when the key is pressed and false when released. Then, from that Branch’s True pin you’d want to wire that down to the same Set nodes connected your action key’s Released pin so that your character will stop running if the duration reaches zero.

I’d also use a less than or equal or a nearly equal comparison rather than exactly equal, but I could just be overly paranoid about float accuracy.