Double check the configuration of your GPIO interrupt. It can be configured to register an interrupt on either rising, falling, or BOTH edges. Check that it's not set to both.
Using analog circuity to achieve such a long time constant is dancing on the edge of reliability. These analog circuits are liable to experience parasitic leakage currents that can cause unpredictable behavior. The following article offers a possible work around in the analog world. Two Capacitors Are Better Than One - Jason Sachs
BUT, there is an even better work around that can be achieved in your firmware. Have your chip wake up on a rising edge (without any RC circuitry) and in your interrupt handler, start the app timer to then begin counting to three seconds. After this three seconds it can then register/initialize the other aspects of your code. If the three seconds is not met, reset the count and go back to deep sleep.
The code for a timer similar to what I discussed is provided at the very bottom of hello_sensor. This timer counts to 5 and begins executing code (not from deep sleep though).