When you delete rows from a data-only-locked heap table, a table scan is required if there is no useful index. The OAM and allocation pages are used to locate the pages.
The space on the page is not recovered immediately. Rows in data-only-locked tables must maintain fixed row IDs, and need to be reinserted in the same place if the transaction is rolled back.
After a delete transaction completes, one of the following processes shifts rows on the page to make the space usage contiguous:
The housekeeper process
An insert that needs to find space on the page
The reorg reclaim_space command