I did some more tests, it's definitely the encoder crapping out @ 60FPS. Not sure what's causing it.
OP, you should be fine @ 30FPS too, there's not much CPU load.
Stats for the 60FPS recording, the video thread is nasty, didn't see that on the first look.
15:15:07.323: obs_hotkey_thread(25 ms): min=0.001 ms, median=0.003 ms, max=0.263 ms, 99th percentile=0.098 ms, 100% below 25 ms
15:15:07.323: audio_thread(Audio): min=0.006 ms, median=0.033 ms, max=1.114 ms, 99th percentile=0.655 ms
15:15:07.323: ┗receive_audio: min=0.002 ms, median=0.022 ms, max=1.063 ms, 99th percentile=0.842 ms, 0.275029 calls per parent call
15:15:07.323: ┣buffer_audio: min=0 ms, median=0 ms, max=0.006 ms, 99th percentile=0.001 ms
15:15:07.323: ┗do_encode: min=0.004 ms, median=0.019 ms, max=1.06 ms, 99th percentile=0.838 ms
15:15:07.323: ┣encode(Track1): min=0.002 ms, median=0.011 ms, max=0.028 ms, 99th percentile=0.019 ms
15:15:07.323: ┗send_packet: min=0.001 ms, median=0.008 ms, max=1.045 ms, 99th percentile=0.822 ms
15:15:07.323: obs_graphics_thread(16.6667 ms): min=0.04 ms, median=0.234 ms, max=494.777 ms, 99th percentile=2.35 ms, 99.9442% below 16.667 ms
15:15:07.323: ┣tick_sources: min=0.001 ms, median=0.011 ms, max=493.455 ms, 99th percentile=0.022 ms
15:15:07.323: ┣output_frame: min=0.037 ms, median=0.159 ms, max=12.809 ms, 99th percentile=2.258 ms
15:15:07.323: ┃ ┣gs_context(video->graphics): min=0.037 ms, median=0.157 ms, max=12.809 ms, 99th percentile=0.546 ms
15:15:07.323: ┃ ┃ ┣render_video: min=0.002 ms, median=0.026 ms, max=12.713 ms, 99th percentile=0.444 ms
15:15:07.323: ┃ ┃ ┃ ┣render_main_texture: min=0.002 ms, median=0.022 ms, max=12.712 ms, 99th percentile=0.435 ms
15:15:07.323: ┃ ┃ ┃ ┗stage_output_texture: min=0.001 ms, median=0.004 ms, max=0.105 ms, 99th percentile=0.077 ms, 0.279494 calls per parent call
15:15:07.323: ┃ ┃ ┣gs_flush: min=0.021 ms, median=0.082 ms, max=0.353 ms, 99th percentile=0.165 ms
15:15:07.323: ┃ ┃ ┗download_frame: min=0 ms, median=0.056 ms, max=0.187 ms, 99th percentile=0.174 ms, 0.279494 calls per parent call
15:15:07.323: ┃ ┗output_video_data: min=0 ms, median=0.001 ms, max=4.89 ms, 99th percentile=3.535 ms, 0.279308 calls per parent call
15:15:07.323: ┗render_displays: min=0 ms, median=0.051 ms, max=2.329 ms, 99th percentile=0.088 ms
15:15:07.323: video_thread(video): min=0.001 ms, median=87.566 ms, max=1457.2 ms, 99th percentile=1220.77 ms
15:15:07.323: ┗receive_video: min=1.666 ms, median=1.82 ms, max=9.771 ms, 99th percentile=3.99 ms, 10.9273 calls per parent call
15:15:07.323: ┗do_encode: min=1.666 ms, median=1.82 ms, max=9.77 ms, 99th percentile=3.989 ms
15:15:07.323: ┣encode(advanced_video_recording): min=1.654 ms, median=1.788 ms, max=8.395 ms, 99th percentile=3.272 ms
15:15:07.323: ┗send_packet: min=0.003 ms, median=0.018 ms, max=2.512 ms, 99th percentile=0.853 ms
15:15:07.323: =================================================
15:15:07.323: == Profiler Time Between Calls ==================
15:15:07.323: obs_hotkey_thread(25 ms): min=24.973 ms, median=25.913 ms, max=26.373 ms, 6.1149% within ±2% of 25 ms (0% lower, 93.8851% higher)
15:15:07.323: obs_graphics_thread(16.6667 ms): min=5.158 ms, median=16.667 ms, max=494.784 ms, 99.8883% within ±2% of 16.667 ms (0.0558347% lower, 0.0558347% higher)
15:15:07.323: =================================================
15:15:07.530: Number of memory leaks: 0