I quickly looked at the amqp code again, it could be possible to make wild deletes of channel references in amqp lib, but I think i's more risky than this solution. And it would mean to spend more time on this.
I have spend enough time on this for the moment. This solution works with all the tests I made, I will continue to monitor it.