Commerce - delete products that do not reference a node
Try the Views Bulk Operations module. 

You can create a View that lists Commerce Products

Use the Table format, showing fields.

Add a filter for the reference field and for the operator choose "Is empty (NULL)".

Add a field to the View, look for "Bulk operations: Commerce Product"

When the field settings come up, in the "Selected bulk operations" field set, check the "Delete Item" checkbox. 
Arrange this field to be the first one in the list.

Save the view. 

Now you will see all products that do not have a value for your reference field. The Bulk Operations: Commerce Product field will make a checkbox display for each row, and you can select one or more products to delete. 

You can also check the text box in the table header, and that will "select all" products listed on the page. If you have more than one page worth of products, a button will appear that will let you select all products in the view. 

Choose the "Delete Item" option from the drop down above the view and hit the button, and it will start the delete process, after a confirmation.