Hey,
I'm not really sure why this is happening, I'm guessing it's got something to do with decimal caps, but I don't really know; a programmer could probably enlighten us there, but I did do some testing.
It seems like if the number you're adding is too small, it doesn't get added. At 2 million, adding 1 doesn't work, but adding 50,000 does work (every frame + per second).
Using every frame without per second ticked doesn't fix the issue (the values at which it breaks are different though).
A possible workaround is to ditch the every frame + per second and just transition to a wait state after adding to the float, waiting 1 second, and then looping back. That will effectively add the same amount to the float, but it isn't as smooth.
I did crash multiple times while testing all of this though, so do proceed with caution, and good luck.