I didn't yet figure out why exactly the status bar is glitching up (it has something to do with getting wrong values in the buffer, probably caused by lag), but I did find out why exactly the game locks up (yes, this is only a softlock not a crash).
If you quickly want to recreate the glitch with a memory editor, just change the nametable (background) tile at X:0x0B and Y:0x03 to a transparent tile (for example 0x24). (This means offset 0x006B in BizHawk's CIRAM and offset 0x206B in FCEUX's PPU Memory)
The critical point here is the coin symbol
in the status bar, because it intentionally overlaps with the OAM sprite #0. This is a special sprite because it sets the Sprite #0 Hit bit of a PPU status register ($2002) meaning it can be used to make code execute while specific pixels are being drawn.
It is used to differentiate the status bar from the rest of the game (you wouldn't want to make the status bar scroll with the camera, would you?).
This however only works if there
is actually something that overlaps it, meaning that if the status bar gets glitched up and the coin symbol gets replaced by some transparent tile (0x24) it won't set the bit in the register and it softlocks in an infinite loop waiting for something to happen (also, while checking for the bit all interrupts are disabled, so there is nothing that can happen).
tl;dr: The freeze is a simple softlock, nothing special. Rather try figuring out why the glitchy status bar occurs in the first place.