I just remembered that when closing a channel, I verify that the local balance or the remote balance isn't below a certain dust limit, roughly 600 satoshis. I think the situation you described falls under this exception. I'll review the code later, but I believe such channels aren't being closed on my end. Also, channels with active pending HTLCs don't get closed either.