A dataset cannot be unlocked if you have any tables associated with it.
Keep in mind that temporary tables might be in play. A temporary table is an earlier version of a current active table which may still be lingering.
The easiest way to determine is to go to the Monitor: Release Memory dialogue and look for temporary tables which still exist, then delete them.
Delete all tables, active and temporary, which are descendants of the dataset that you wish to unlock and delete.
The dataflow graph for an active table will show you the dataset from which the table is a descendant, in case you are unclear. By default, the original table name was based upon the dataset name, but you may have manually overridden or changed that initially or somewhere in the dataflow.
If you have a temporary table that whose lineage you wish to view, you can go to the worksheets tab, click the "tables list" icon
then click on the temporary tables tab, select a specific temporary table, and click to button to "add to worksheet". This will create a new dataflow that you can examine to confirm lineage.
The table is now an active table and can be dropped in one of three places: