Reed switch sticking....why?

Part number mp2018010944a
Cherry reed switch.

After a few weeks of use I am having trouble with this switch sticking closed after several hundred cycles. There is a 330 ohm resistor in series with the input to the Atmel microprocessor and a 220pf capacitor to ground between the resistor and the Atmel. The Atmel has a 60k pull up resistor enabled. This should result in .015 amps of current at closure and a holding current of .00008 amps at the supply voltage of 5 volts.

The magnet used is an alnico magnetic plug 1" long and 3/4" diameter at a nominal distance of one inch to the upper edge if the switch. The switch is in the vertical position (wires out the bottom) and the magnet is in the upright position (1" axis vertical) above the switch.

Any ideas why? Seems the currents encountered are within spec. Is it possible the magnet used is too large and the reed is becoming magnetized?

Thank you
Keshka

PS using pin 9 of the Arduino Mega (PH6)

pinMode (Lim_pin, INPUT); // limit switch
digitalWrite (Lim_pin, HIGH); // turn on pullup resistors

It's possible your contact current is too low. Relay contacts tend to accumulate oxide over time but current flow can help clean this up. If you provide an external 470 ohm pullup resistor instead of the internal 60k pullup, and you can afford the constant 10mA current flow, then this might extend the life of the contacts.

Or it could be you are slowly magnetizing your contacts. Use the minimum magnet strength that gets the job done.

--
Check out our new shield: http://www.ruggedcircuits.com/html/gadget_shield.html