Ok so I tried pinging (windows command ping) while TF2 was running, and I got this:
Reply from 173.194.219.103: bytes=32 time=18ms TTL=106
Reply from 173.194.219.103: bytes=32 time=19ms TTL=106
Reply from 173.194.219.103: bytes=32 time=28ms TTL=106
Reply from 173.194.219.103: bytes=32 time=72ms TTL=106
Reply from 173.194.219.103: bytes=32 time=21ms TTL=106
Reply from 173.194.219.103: bytes=32 time=18ms TTL=106
Reply from 173.194.219.103: bytes=32 time=19ms TTL=106
Reply from 173.194.219.103: bytes=32 time=20ms TTL=106
Reply from 173.194.219.103: bytes=32 time=24ms TTL=106
Reply from 173.194.219.103: bytes=32 time=24ms TTL=106
Reply from 173.194.219.103: bytes=32 time=16ms TTL=106
Reply from 173.194.219.103: bytes=32 time=170ms TTL=106
Reply from 173.194.219.103: bytes=32 time=20ms TTL=106
Reply from 173.194.219.103: bytes=32 time=118ms TTL=106
Reply from 173.194.219.103: bytes=32 time=18ms TTL=106
Reply from 173.194.219.103: bytes=32 time=273ms TTL=106
Reply from 173.194.219.103: bytes=32 time=31ms TTL=106
Reply from 173.194.219.103: bytes=32 time=19ms TTL=106
Reply from 173.194.219.103: bytes=32 time=17ms TTL=106
Reply from 173.194.219.103: bytes=32 time=23ms TTL=106
Reply from 173.194.219.103: bytes=32 time=18ms TTL=106
Reply from 173.194.219.103: bytes=32 time=21ms TTL=106
Reply from 173.194.219.103: bytes=32 time=170ms TTL=106
Reply from 173.194.219.103: bytes=32 time=19ms TTL=106
Reply from 173.194.219.103: bytes=32 time=47ms TTL=106
Reply from 173.194.219.103: bytes=32 time=18ms TTL=106
Reply from 173.194.219.103: bytes=32 time=19ms TTL=106
Reply from 173.194.219.103: bytes=32 time=18ms TTL=106
Reply from 173.194.219.103: bytes=32 time=20ms TTL=106
Reply from 173.194.219.103: bytes=32 time=38ms TTL=106
Reply from 173.194.219.103: bytes=32 time=46ms TTL=106
Reply from 173.194.219.103: bytes=32 time=22ms TTL=106
Reply from 173.194.219.103: bytes=32 time=31ms TTL=106
Reply from 173.194.219.103: bytes=32 time=19ms TTL=106
Reply from 173.194.219.103: bytes=32 time=22ms TTL=106
Reply from 173.194.219.103: bytes=32 time=21ms TTL=106
Reply from 173.194.219.103: bytes=32 time=18ms TTL=106
Reply from 173.194.219.103: bytes=32 time=65ms TTL=106
Reply from 173.194.219.103: bytes=32 time=296ms TTL=106
Reply from 173.194.219.103: bytes=32 time=326ms TTL=106
Reply from 173.194.219.103: bytes=32 time=322ms TTL=106
Reply from 173.194.219.103: bytes=32 time=18ms TTL=106
Reply from 173.194.219.103: bytes=32 time=20ms TTL=106
Reply from 173.194.219.103: bytes=32 time=18ms TTL=106
Reply from 173.194.219.103: bytes=32 time=19ms TTL=106
Reply from 173.194.219.103: bytes=32 time=138ms TTL=106
Reply from 173.194.219.103: bytes=32 time=19ms TTL=106
Reply from 173.194.219.103: bytes=32 time=18ms TTL=106
Reply from 173.194.219.103: bytes=32 time=19ms TTL=106
Reply from 173.194.219.103: bytes=32 time=19ms TTL=106
Reply from 173.194.219.103: bytes=32 time=19ms TTL=106
Reply from 173.194.219.103: bytes=32 time=19ms TTL=106
Reply from 173.194.219.103: bytes=32 time=18ms TTL=106
Reply from 173.194.219.103: bytes=32 time=18ms TTL=106
Reply from 173.194.219.103: bytes=32 time=27ms TTL=106
Reply from 173.194.219.103: bytes=32 time=323ms TTL=106
Reply from 173.194.219.103: bytes=32 time=27ms TTL=106
Reply from 173.194.219.103: bytes=32 time=18ms TTL=106
Reply from 173.194.219.103: bytes=32 time=23ms TTL=106
Reply from 173.194.219.103: bytes=32 time=18ms TTL=106
Reply from 173.194.219.103: bytes=32 time=22ms TTL=106
Reply from 173.194.219.103: bytes=32 time=19ms TTL=106
Reply from 173.194.219.103: bytes=32 time=18ms TTL=106
Reply from 173.194.219.103: bytes=32 time=19ms TTL=106
Reply from 173.194.219.103: bytes=32 time=20ms TTL=106
…
omfg there's a word limit? Anyway at the lowest settings possible I consistently got ~120fps across the board with updaterate and cmdrate at 33, and the choke issue still occurred. I'm getting a strong feeling that it's either the NIC or my internet.