DNS Supports TCP due to some responses to requests being > 64Kb
Initially for domain transfers, and now for DNSSec etc where you can get rather large certificates embedded.
Also it's rather handy if you're tunneling over a proxy that only supports TCP ;)