I was looking at bytestream-multiple.c from the point of view of trying to make bytestream_connection_error_cb a bit easier to follow. (Currently it sets priv->active_bytestream to NULL, calls some method, and then uses priv->active_bytestream, which is surprising. Also, bytestream_activate_next() asserts that there are some fallback methods available, rather than failing gracefully if there are not.)
Looking over it has made me suspicious that BytestreamMultiple's state never changes to Closed. As far as I can tell, it's only updated in bytestream_state_changed_cb(), which has a comment explaining (apparently) why it will never be called for Closed.