Don't throw an OFNoMemException in - freeMem:. It won't help anyway.

If there's not even enough memory to make the list of memchunks
smaller, there can't be much done anyway. The only way is to ignore
it and hope the whole object gets free'd soon, as the memchunk will
be free'd then as well.

Additionally, the OFOutOfRangeException was replaced by an assert. It
should never overflow here as we're making it smaller. And a size of 0
can't happen as we already found the memchunk before.