fix some rt cleanup and failure edge cases

I think this should be !marker.exists