Who is responsible for freeing m.mess? Are you sure that can't happen before s is GCed?