15K or even higher might be required if the loading device has a large capacitance.
If the cost of the extra resistor+cap gets close to a current-limited switch, it's no brainer here!
But did even a buzzer reset your system?
You induced a problem by choosing fets conducting extremely well at low VGS (24 mOhm at 2.5V).
Do you need such low RDS to power a oled screen? I don't think so.
The problem? It will conduct so fast and so much, the charging current will be huge, causing all the issues you're having.
Did you measure the current at VDD rail? Was it 300mA? Well, the STLQ015 LDO is rated for 150mA!
Internally limited to 250-350mA, so you might be in the limit, any extra load causes voltage drop and it won't be able to respond properly to any small current surge.
As the OLED screens ususally carry their own LDO, just power it from 5V directly (As already talked).
Do you have oscilloscope?
If so, make a single run triggered by the gpio, second channel connected to VDD.
You'll see how VDD reacts to the load, if the voltage drop is still too large, increase the resistor.
Was that 10uf cap you used ceramic or electrolytic?
Ceramics have extremely low esr, so the current spike can be short and huge, beyond what most electrolytics can filter.
Try adding several 1uF ceramics here and there!
Also: Learn about filtering chokes / ferrite beads. Adding a 1K+ @ 100MHz choke will help filtering any fast trasients.
But can be like opening a can of worms, adding big ceramic caps to them or certain current patterns can make them oscillate!
https://www.mouser.com/ProductDetail/Fair-Rite/2508052026Y1?qs=sGAEpiMZZMt1hubY80%2Fs8OaNS%2FJrXGrqqm6ynnsmRzk%3Dhttps://www.mouser.com/ProductDetail/Murata-Electronics/BLM21HE472SN1L?qs=sGAEpiMZZMt1hubY80%2Fs8KH3ycnB7WcGvEtoVdG6EB4g77W1AEfufA%3D%3Dhttps://www.mouser.com/ProductDetail/Murata-Electronics/BLM31KN102SH1L?qs=sGAEpiMZZMt1hubY80%2Fs8DE23zOR%2FvJ90O%2Fye4ApNH4cE%252BJSpGa1AA%3D%3D