Except for an old bug for log file growth being set to 4,000MB which, according to most, has been repaired, that answer as to what is causing TempDB to grow in a crazy fashion is simple... someone is running some crap code.
Ok, so how do you find it? You have to detect the growth and then capture the query that's causing it. One method to do that can be found in the following article.
https://www.mssqltips.com/sqlservertip/3276/sql-server-alert-for-tempdb-growing-out-of-control/
--Jeff Moden
Change is inevitable... Change for the better is not.