Hi,
It is recommended to use External Purge.
Some steps for analysis/troubleshooting:
Use the Dashboard > System > Troubleshooter screens to make sure your processes are all in state that can be archived/purged.
Use the DBStats report to check the current status.
Make sure Datasweeper is scheduled. Check the results.
Check that Schedule_IndexBusinessProcessService, Schedule_LinkagePurgeService and Schedule_AssociateBpsToDocs are scheduled and completing successfully.
NB Lock errors are ok as long as the processes do not always fail.
These BPs might need to be tuned, depending on the load on your deployment.
If you are still concerned, open a ticket with IBM Support to get help.
Hope this helps.