You notice an unexpected growth of tempdb data files if applications that use Microsoft SQL Server Service Broker are configured to have a message pattern of one message per conversation. This pattern resembles the "fire-and-forget" pattern that is usually used in auditing applications.
If you query the sys.dm_db_task_space_usage dynamic management view (DMV) while this issue is occurring, you might see that the "internal_objects_dealloc_page_count" value does not increase at the same rate as "internal_objects_alloc_page_count" for session IDs that are running internal Service Broker tasks.
Additionally, the tempdb space is not released even after all pending conversations are closed and cleaned up.
The growth of the data files is caused mainly by constant inserts and updates to the sys.sysdesend table. In this situation, tempdb data files continue to grow as you use Service Broker.
This issue is fixed in Microsoft SQL Server 2016.
Cumulative update information
Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:
Latest cumulative update for SQL Server 2012 SP3
Latest cumulative update for SQL Server 2014 SP1/SP2
To reclaim the unreleased space from tempdb, restart the SQL Server service.
To avoid this problem, follow the general recommendations in the "Performance and Scalability Techniques" section of the following TechNet topic:
Microsoft confirms that this is a known issue in the current design of Service Broker.