Store a mesh's geometry at runtime for later retrieval

What is the best way to save or store a mesh's geometry - for a usage case, such as using it to restore an earlier mesh state at a later time?

Right now, my workaround is to use ObjExporter to convert it to a String, and then to reconvert it back.

Easiest way would be to instantiate a clone:

var m = Instantiate(originalMesh) as Mesh;