In working with InMemoryMarkerOverlays, I've discovered the following bugs:
1) ApplyUntilZoomLevel does not work for the popups, each level must be set individually
2) If you create a CustomPopup instance and set it to the Popup of a zoom level, they will ALWAYS display. It essentially breaks the hover behaviour. This means the Popup attributes have to be manually set everytime for every zoom level.
3) Delay does nothing (known bug)
If anyone has workarounds let me know. If not, just be aware of the bugs.
And if I'm wrong about the bugs, that's fine too, just let me know what I'm doing wrong.