Translating Rhino Geometry in GH C# script. ExpireSolution?

I am trying to animate some geometry translatioin using the Render in Project v-Ray component. When I render the animation, my custom texture mapping disappears after the first render frame and reverts to default mapping. I thought I could easily make a script that just moves the rhino geometry itself and then renders the next frame. I basically have it working, except that I get the exception
“object expired during solution” is thrown several times before the geometry moves.

I realize this is because the referenced geometry is being altered during the solution. I understand that one would use expiration to prevent parts of the definition from recalculating. However, I cant seem to figure out what expiring even means, not to mention how to use it. anyways here’s my script:

  private void RunScript(List<Guid> guids, List<Vector3d> vectors)
        // <Custom code>

        int i = 0;
        foreach (Guid guid in guids)
            Rhino.DocObjects.RhinoObject obj = Rhino.RhinoDoc.ActiveDoc.Objects.Find(guid);
            var translate = Transform.Translation(vectors[i]);
            Rhino.RhinoDoc.ActiveDoc.Objects.Transform(guid, translate, true);


        // </Custom code>

any help is much appreciated! thanks!