Faces (in fact points but forget that) are moved depending on the offMin/Max values. If these differ and/or are big then the result may look a bit odd/spiky (either because a random value from the range is used OR because the size of the mesh is too small/big for the value that is multiplied by the face normal]). If they are negative/positive and depending on the orientation of the mesh face normal you’ll get a result inwards/outwards.
Of course I could add any imaginable additional modification PRIOR the new mesh creation.
In general: think a tri mesh face and the center. From each vertex and using the center you move the 3 vertices inwards [Point3d newVertex = (new Line(center,oldVertex)).PointAt(move);]… then you add the normal * some value [newVertex += normal*offsetValue;]. Then you combine the 3 new vertices with all the rest and you get the new mesh
Scaling the mesh BEFORE all that is no-no (why to do it?).
Maybe a 3 option offset would be more clear: (1) do nothing (2) lock on offMin (3) use a random value within the offMin/Max range.