If this is true:

Any temporary table created inside a stored procedure is automatically dropped when the stored procedure finishes executing.

Then why should you do this?:

It's generally considered good coding practice to explicitly drop every temporary table you create. If you are running scripts through SQL Server Management Studio or Query Analyzer the temporary tables are kept until you explicitly drop them or until you close the session.

Source: http://www.sqlteam.com/article/temporary-tables