Is it normal for tempdb to not give up disk space when it releases things?
Tempdb will release space when you restart SQL Server or when you shrink the files, refer to kb307487.  As was mentioned, it is usually a bad practice to use autoshrink.  If you are under space constraints because tempdb wasn't provisioned separate storage, you can shrink the data files using dbcc shrinkfile.  If you don't have to do that, I wouldn't.  It seems you have a workload that needs the space and it having the space already allocated prevents it from having to grow again.  Microsoft has some guidance on how to improve performance of tempdb.