Now here's the part that I don't understand: while this wonderfully debounces the switch release, I don't see how it does anything for pressing the switch. The voltage curves given indicate that the capacitor decharges slowly (same thing shown here), but it seems to me it's always decharged pretty much instantly. Oscilloscope measurements are confirming it.
The way pushbutton switches work, a closed pushbutton may temporarily spuriously go open for a brief time while the user intends to keep it pressed. But an open switch which isn't being pressed will never go closed, not even for a brief instant. As long as the contacts are apart, they are open.
You seem to be under the impression that a debounce circuit should wait for a while after switch closing before signalling a low output. That would serve no purpose except to make the system slower to respond to button pushes. The goal of debounce is just to ensure that one single transition is seen on the output.
A bounce at switch pressing involves at least contact, opening, contact, in rapid succession. It might repeat many times.
As you point out, the switch does discharge the capacitor very quickly, limited only by the parasitic resistance and inductance in the switch and wiring.
During a bounce event, what that circuit does is prevent the very quick opening of the switch from bringing the output voltage all the way high. That way, only one transition from high to low is seen by the microcontroller.
(Incidentally, good, responsive, software-based debounce can work the same way. When a button closure is sensed, react to it in software immediately, but ignore any switch openings for a time period. When an opening is sensed, wait for it to remain open for a time before reporting the open state to the software.)