Egg data in Pokémon games usually have their own entry in the same chunk as other species' data. In Generation II, number 253 stored most of the data associated with the unhatched Egg. For any Pokémon in a Trainer's party, there are two values stored per Pokémon that indicate its species. The first value, found in the Pokémon's data structure, decides how the stats grow and what sprite appears in battle. There is a second value that is typically exactly the same as the actual species value while it is in the party that nearly only decides what sprite appears in the party screen next to the Pokémon's name. However, when the Pokémon is still an unhatched Egg, this second value will be 253, signaling the game to treat it as an Egg. It has a footprint with 253 in it.
Because of this, the Egg sprite will appear next to the "Egg" glitch Pokémon like a normal Egg. But since the original structure value is also 253, the Egg is forced to hatch into another Egg instead of an actual intended species. This creates a never-ending hatching loop, where the Egg will hatch into a new Egg every 30,720 steps
Hope I helped ;D