It appears that Cython has a subtle issue in deconstruction ordering
that I forgot about. Subclasses will have their deconstructors before
their parent's, and in this case we were dropping a reference to a
buffer that the parent deconstructor expected to exist.