U+007F, though it is not a C0 control character, Unicode still considers it as a control character. It is the deleted character.
If one mis-punched a character into a punched tape, one would turn it to the deleted character by punching all 7 holes. An interpreter for punched tapes would skip all deleted characters. ASCII followed this convention and thus assigned 0x7F the deleted character. And Unicode followed ASCII.
Following this convention, it would mean one must skip all U+007F. Does this mean U+007F doesn't contribute to a byte count at all?