I restored the database from the production into a test environment. Of course, when doing that, the fragmentation of the related table was ok because the entire database was written on disk from scratch. So, 13 records of fragments were recognized and none of them were higher than 22%. I ran the same robot task to cleanup the records and it ended up in the same situation. There is no way I can delete 1.9 million records in one command without putting the system down.
I will adjust my procedure to recycle one record at a time and will see how it works.