Having taken off from a private HLS in the local area, I was once flying level at 2400 feet under the "stub" of controlled airspace (CTA which began at 2500 feet) and had asked for a flight information service. Transponder set to 7000 / + Alt.
After giving a position report, ATC immediately asked us to confirm our altitude. I replied "2400 feet", as we were, on their QNH. They asked us to squawk, which we did. They asked us again to confirm our altitude, sounding stressed.
"2400 feet!" we replied.
ATC replied "Your mode C is reading 7500 feet and climbing!"
Us "(Click). How now?" (changing transponder select to read from altimeter 2).
ATC "That's better, you are now reading 2400 feet!"
Posting this because our altimeters were both reading 2400 feet at all times.
Mode 'C' can fail, too.