Make the cleanup logic in ChannelOutboundBuffer more robust

- Fixes #1601