This action is by design, to work properly, the program needs a valid Temp directory. By valid I mean a directory that both exists and can be freely accessed (full read and write rights), and such directory is always auto-detected when the program starts up. The detection is based on system's %TEMP% and %TMP% system variables.
The reason why the program creates a sub-directory to the temp directory is to allow user easily delete all files relating to PowerTools, most other programs just use the temp directory directly and after a few days it can be filled with files and it's impossible to know which files are created by which program. Therefore I feel creating a sub-directory is the more user friendly way.
The sub-directory is not deleted when the program terminates because this saves a few milliseconds in the program's startup time the next time (because the program doesn't have to create the sub-directory again on every startup).