I'm having the exact same problem as you with Apex Legends specifically.
The below is a collection of fixes I've found for this "Rendering Lag" problem for Apex, although I am still waiting for a bigger fix as clearly many people are able to record and stream it with no issues. I've done all of the below and it's allowed me to stream and record under certain conditions, but it's certainly not at the level I want it to be.
1. Fully update windows 10 to the latest version (people have suggested going back to get rid of an update which caused this issue, but it's impractical and opens your PC up for viruses etc.)
2. Once updated, search for "Windows Game Bar" - Turn this off
3. Search for "Windows Game Mode" - Turn this off (This basically forces the PC to put all GPU power into a game, leaving none for OBS, so turning it off leaves a bit more free for OBS)
4. Whichever game you are trying to record and stream, add an in-game FPS limit to it, 120 works for some, but 60 is a safer bet.
5. OBS keeps scenes playing in the background to allow you to swap to them, you can right-click on webcam's, videos and audiotracks, and you can turn these to "disable when not in use", which will free up some power for OBS (although does make scene transitions look a bit less smooth unless you use studio mode to do it.
6. If you use a webcam, make it a lower resolution for you gaming scene, typically people only use a small image for their webcam whilst streaming, so having it at 1080 is pointless and using power that is unnecessary - you can keep it at 1080 for a full-screen scene, but make sure "disable when not in use" is ticked so that OBS is not processing this all the time.
These are all of the fixes that I am aware of currently, and they have all helped me slightly, however I am still digging for more information on how to get OBS working with Apex Legends so if anyone can add more to my list, please let me know.