When a record is archived it is moved from its current table to the associated archive table. For example 'incident' is archived into 'ar_incident'
An XML representation of the original record is also retained within the 'sys_archive_log' table to allow for the exact restoration of the record if required at a later date
Once an archived record is no longer required it can be purged from the associated archive table by an Archive Destroy Rule however this does not delete the associated record for the 'sys_archive_log' table
This will allow recovery of the record, even once it has been purged from the archive table which may not be desirable
ServiceNow has confirmed that this behaviour is not expected and has created Known Problem record with Development to have this addressed however there is currently no upcoming fix planned
In order to ensure that all traces of an archived record are purged from the instance ServiceNow recommends the creation of a Table Cleaner (sys_auto_flush) or a custom script job to complete the required clean up based upon your specific requirements
You can find additional information on how to configure a Table Cleaner in KB0694151