555 not working as expected at high frequency
555 not working as expected at high frequency

Um, pretty much as expected:
Picked an arbitrary NE555 datasheet (p.4):

Output pulse rise time typ. 100 ns
Output pulse fall time typ. 100 ns

even if these were the only two limiting factors, you couldn't achieve a full low-high output swing at 5 MHz or more. A clean 5ns second pulse (your off-time!) requires a multiple of 1/5ns = 200 MHz in bandwidth! (And with &quot;multiple&quot;, I mean 5 or 7 times 200 MHz, before it resembles a rectangular shape.)
We see that your simulated NE555 behaves slightly better than the datasheet, but that simulation is missing any capacitive output load – which would happen, inevitably, due to parasitic capacitance.
Then, look at &quot;Propagation Delay Time vs. Lowest Voltage Level of Trigger Pulse&quot;: the propagation delay at room temperature never drops below ca 170 ns – which is a significant amount of your 500 ns period! So, any trigger you have can't have an effect for about one third of a period, putting a very logical limit on how &quot;quickly&quot; you can turn the output off (or on, really).
As often, the NE555 is not the right tool for this job. Your user name is &quot;Atmega 328&quot;, and a microcontroller would be the better choice here. An off-time of 5 ns is a challenge, though, as that will require a PWM clock of 200 MHz (or a multiple!), which an ATMega 328 simply can't do. I think the SAMD5x family of microcontrollers would probably be the cheapest way to get a timer that can be clocked at 200 MHz (iirc) (which doesn't mean the GPIO can toggle quickly enough to allow for 5 ns negative pulse), but still:
As seen above, a trying to make a 1% off-cycle of 2 MHz needs at least 5×200 MHz of bandwidth (and if you do that, your &quot;low&quot; looks more like a sine than a square wave), realistically bandwidths in the region of 1.4 GHz or more. The approach of trying to achieve a clean &quot;low&quot; signal of 5 ns duration with a very discrete approach like yours might point to you not considering the implications of this: your diode won't work well, your resistors start to behave like capacitors if you're not careful about choosing them, the amount of care you put into current return path exceeds the complexity of your current approach.
In short: um, I kind of doubt that whatever it is you do, it's even able to receive a clean 5ns negative pulse. So, maybe ask another question explaining what you need that pulse for, what kind of device you want to connect to that, and how you plan to connect that, and ask what you need in your design to achieve a clean pulse at the receiving device, instead of starting with &quot;I'm using this part. It's not doing what I want&quot;!