Try using the TempDBInfo procedure, it shows what currently is inside TempDB's files and who is using it most
Procedure is not fully finished, I am going to rework the way it shows summary information, and also I am planning to add logging capabilities
But it is still good at looking who is the current consumer (which session or task is using most) and might help you to diagnose the problem
Here what it shows for me:
If you have any comments or suggestions for SP, let me know