yttriumHave you tried lowering the process priority of OBS?
TF2 is very CPU-bound and only actually utilizes a few threads. If OBS has a spike in usage and starts using the same core as TF2, it might cause those hitches that are short enough that the framerate doesn't seem to be affected because it's hurting frame times more than frame rates.
At this point it's very clearly an OBS issue that TF2 is more prone to being affected by than other games. All the other games you listed, while being CPU-bound, are fairly heavily multithreaded and wouldn't be affected by a spike in usage on one thread as much.
The thing is, these hitches are consistent. They are always exactly the same space apart and always happen. They don't go away/come back and they don't change their timing.
Lowered process priority class of OBS through all of them and the problem persists. This is what my CPU usage is with OBS process priority class of Idle (lowest), preview running, playing tf2 in fullscreen, while watching a stream. Problem is still there.
http://i.imgur.com/EQuu9Sw.png
I'm beginning to wonder if I should buy an XSplit license, or if this problem will persist through other streaming software.