Could it be outside Discourse itself?
For example, perhaps app.yml as a bind mount to a host directory, or there is an implicit bind mount from the container to the host, and that host directory is still being synced/backed up to the old S3 bucket by something like aws s3 sync, rclone, a cron job, or a backup script.
If app.yml no longer references the old AWS/S3 settings, I’d probably check the host for scheduled jobs or sync scripts next.