Just from looking, not from running;
Push and release means checking that the button has been released, which you don't do.
It would probably be good if you get rid of that first delay, you won't need it if you check release.
Also, do you know what debounce means?