TempDB Transaction log not releasing space
The log_reuse_wait_desc is only updated when SQL Server attempts to clear the log.  In other words, it's not necessarily a "live" view of whether the log can be cleared or not.  Paul Randal explains that in his blog post "Why is log_reuse_wait_desc saying LOG_BACKUP after doing a log backup?".

In the case of tempdb, which uses the SIMPLE recovery model, SQL Server attempts to clear the log whenever a CHECKPOINT is issued.  This is why doing a manual CHECKPOINT frees up the space, as you mentioned.

SQL Server is a lot less aggressive about doing automatic CHECKPOINTs on tempdb, both because it uses the SIMPLE recovery model, and because it is by definition "temporary" information.  So there's no need to constantly persist it to disk.  This is a performance optimization specific to tempdb.  

Per another blog post by Paul Randal, the details are as follows:


automatic CHECKPOINT operations on tempdb are only done when the log usage reaches 70%
dirty pages are not written to disk on automatic CHECKPOINT (its primary purpose it to clear the log)


The "work table" rows in dm_tran_active_transactions are normal behavior, and shouldn't prevent the log from being cleared.  You can read more about that in this Q&amp;A: 

SQL Server sys.dm_tran_active_transactions long running transaction worktable