Hello Sohaib,
You have a MacBook Pro and most (not all) have a discrete GPU and an integrated (with the logic board) GPU. The discrete GPU (for ex, NVIDIA or AMD Radeon etc), has its own RAM (VRAM) while the integrated does not. All demanding video instructions are carried out by the discrete GPU while the less demanding is carried out by the integrated.
Look up your model of MacBook Pro and check its specifications and you will know whether you have the Discrete GPU.
Why did I mention the above? When in SAFE mode your MacBook Pro only uses the Discrete GPU. You saw no screen flickering while in Safe mode. What if there is an issue with the integrated GPU? Let's test that.
On your MacBook Pro, open System Preferences ➔ Energy Saver : Here, see whether you have the Automatic Graphics Switching Option. If you do then you have two GPUs. Uncheck that option. This will force the MacBook Pro to use the Discrete GPU only. See whether that action takes care of the screen flicker. If it does then we know that the issue remains with the integrated GPU. If it doesn't then we have some software related issues.
Axel F.