Even though NetBackup (or any backup software) expires images out of its catalog, the data on the actual tape does not get erased. This is true for both virtual and physical tapes.
Physical tapes that are in your library still have data on them.. even though NetBackup marks those tapes as 'scratch'.
In the VTL, that means that the virtual tapes are still taking up disk space even though NetBackup won't go back to those tapes to get data. Since those tapes are considered 'scratch' it means that we can overwrite the data on the tapes and not worried about NetBackup wanting to use the tapes (similar to a brand new tape... no recovery will be requested from the tape)
On a physical tape if you overwrite the first byte of a tape, the rest of the tape becomes invalid (only that first byte is now valid). Similarly on a virtual tape, if you overwrite the first byte the rest of the virtual tape is invalid... which also means the VTL will free the associated disk space.
The solution to freeing up disk space on virtual tapes that contain data (but are no longer needed by the backup application) is to re-write the first byte of the tape. This can easily be accomplished by a simple script that determines which scratch tapes are in NetBackup and then mounts and writes a new byte to the beginning of the tape.
Andy