• A table variable only exists during the run of the process that created it as is immediately destoryed at the end and any pages in tempdb associated with it are freed.

    Basically each time the procedure completes execution the object is immediately destroyed.

    So unless the stored procedures that create them are looping back on themselves internally and never ending they are destoryed each time.

    It may not be these objects that are your performance hit unless they are extremely large in that case you might want to change the code over to a temp table instead to see the impact.

    But you cannot set them to null and you cannot truncate the data from the object just DELETE or allow it to free itself.