Пока я вижу, что ты не очень понимаешь что делаешь.  
 Попробуй так:
static void FinishedProcessing()
{
    AcAp.Document doc = AcAp.Application.DocumentManager.MdiActiveDocument;
    using (AcAp.DocumentLock locDoc = doc.LockDocument())
    {
      AcDb.ObjectId spaceId = doc.Database.CurrentSpaceId;
      using (AcDb.BlockTableRecord btr = spaceId.Open(AcDb.OpenMode.ForWrite) as AcDb.BlockTableRecord)
      {
         using (AcDb.Polyline3d poly = new AcDb.Polyline3d())
         {
             AcGe.Point3d pt = new AcGe.Point3d(r.NextDouble() * 100, r.NextDouble() * 100, r.NextDouble() * 100);
             poly.SetDatabaseDefaults();
             poly.ColorIndex = c_color;
             btr.AppendEntity(poly);
             for (int i = 0; i < n_vertexies; i++)
             {
                 using (AcDb.PolylineVertex3d pv3d = new AcDb.PolylineVertex3d(pt))
                 {
                     poly.AppendVertex(pv3d);
                 }
             }
         }
      }
   }
}
В  том коде, который я дал тебе в качестве образца, вершины к 3D-полилинии добавлялись после указания пользователем и там каждый раз нужно было "открывать" 3D-полилинию по её ObjectId и добавлять новую вершину. В этом же коде ты создаешь полилинию сразу и соответственно тебе не нужно её каждый раз открывать.