I just tested it too to finally set a correct value and from my tests the minimal cycles to retain to delete a canister is actually 4.1
note: 4_000_000 isn’t enough. I did not try all values between 4_000_000 and 4_100_000.
UPDATE: the amount of cycles to retain in order to delete a canister is not a static value but a dynamic value. I have rollbacked to a high threshold until that dynamic value can be determined.