Let me try again.
You first need to be aware of how a push-button is detected in the Arduino. Check this:
https://www.arduino.cc/en/tutorial/buttonYou will see that the pin you are monitoring is pulled down to the ground via a resistor. This makes sure it has a low-state. When the button is pressed the pin gets 5V and is high-state which we can detect in the sketch.
But ... there will be a current flowing to the ground via the resistor when you push the button. The ground will temporarily have a higher potential. That potential will want to flow to somewhere that has a lower potential if it can find a path, that is how circuits work. If you have something connected to the same ground then that might open a path to a lower potential. In my case, that was something internal to that MAX7221 chip, possibly via the LED segments it was driving. The current went back up the ground contact of the chip to who knows where and that threw the chip into a weird state.
A diode acts as a one way street for current, it can only flow in one direction. I put a diode into the ground connection of the chip, only allowing current to flow to the ground. The reverse current created by a temporary higher potential in the ground was blocked off.
Now, a further complication might have been created because the chip-to-ground current would temporarily have been blocked by the higher potential in the ground of the Arduino, which would have let the chip to fail as well. I already had a capacitor in the circuit that allowed for the ground of the MAX chip to "charge" it. The circuit was not interrupted, it had a path to a lower potential for that brief moment.
Current is like water, it will want to flow to the lowest point. I put in a dam to block the water from flowing where I did not want it to.