There is a possibility that the account that Denodo uses to connect to the data source may not have delete privileges. I would test this by running a query with data movement in the VQL Shell explicitly setting the 'data_movement_clean_resources' value to 'true'. Next, I would look at the execution trace of the VQL, find the name of the temporary table and check in the data source if the temporary table exists in the data source. If it still exists, then I would check the privileges of the user Denodo connects to in the data source and make sure it has delete privileges.
For more information, you can refer to [Options of the CONTEXT Clause that Control a Data Movement](https://community.denodo.com/docs/html/browse/8.0/en/vdp/administration/optimizing_queries/data_movement/data_movement#options-of-the-context-clause-that-control-a-data-movement).
Hope this helps!