Netduino Interrupts Affected By PWM - Diagnosis of Issue
Use software debouncing: In your interrupt routine deactivate interrupts (so no other interrupts after the current one are fired) and then set a flag, that the interrupt was called.

In your Main routine check for the flag, act on it and then enable interrupts again. Maybe add a small delay before enabling interrupts again.

This seems to be another solution to software debouncing:

 private static void Button1_OnInterrupt(uint data1, uint data2, DateTime time) {
        // glitch filter. events within 50 milliseconds of the first event are discarded
        if (Button1LastPushed.AddMilliseconds(50) &gt; time)
            return;
        // Debug.Print("Button 1 Interrupt");
        Button1LastPushed = time;
        // actions on interrupt here
}


Of course you need to adapt it to your PWM.

PS: LEDs have a small backward current, this could be the source of your problem.