I have an S3 bucket which will not remove expired object delete markers.
The bucket is:
- versioning enabled
 - has a cross-region replication rule, so everything is backed up to another bucket in another region
 
The Lifecycle Rule I have set (attached picture below):
- Applies to entire bucket
 - No transitions
 - Applies only to previous versions
 - Permanently delete previous versions set to 1 day
 - Clean up expired object delete markers set to true
 
I went through and deleted (using the UI EDIT: and the lifecycle rule) a bunch of objects, and I was able to verify that the Life Cycle rule did permanently remove the original objects after the interval of 1 day, but their delete markers (which are now technically expired object delete markers) have remained. It has been 5 days and the delete markers still remain. Is there anything further I need to do in order for the delete markers to be permanently removed as well?

Hidden=Showand delete the specific versions of the objects, or did you just delete the objects? If you simply deleted the objects (not the versions), then it would have kept the object and added the delete marker. The versioned object is still there. - John Rotensteinhidden=showtab, and it's definitely only the delete markers left. - NateH06