Is tempdb set to autogrow? If not, that might be the issue as well. One application I support makes liberal use of temp tables. A guy I knew at another company using the same app was complaining about tempdb filling up. It turned out the DBA's at that company restricted tempdb to 50MB, and refused to let it autogrow, giving some specious reason. It took months to get htem to autogrow tempdv, at which point, the issues all went away.
Rebooting the servers on a regular schedule helps as well, as tempdb gets cleaned out during the startup process.