I've trying to use MeshRefineFunction, but found unusual behavior:
When I define a simple function like so:
ClearAll[meshRefine]
meshRefine[vertices_, area_] := area > 0.0001
mesh = Polygon[{{1, 0}, {0, 1.8}, {-1, 0}}];
DiscretizeRegion[mesh, MeshRefinementFunction -> meshRefine]

The output seems to be independent of the number that I put after area.
It does work if I make the following construct:
ClearAll[meshRefine]
meshRefine = Function[{vertices, area},
Module[{mean},
(*mean=Mean[vertices];
mean=Norm[mean];*)
area > 0.001
]
];
mesh = Polygon[{{1, 0}, {0, 1.8}, {-1, 0}}];
DiscretizeRegion[mesh, MeshRefinementFunction -> meshRefine]

but does not if I do the following:
ClearAll[meshRefine]
meshRefine = Function[{vertices, area},
Module[{mean},
mean=Mean[vertices];
mean=Norm[mean];
area > 0.001
]
];
mesh = Polygon[{{1, 0}, {0, 1.8}, {-1, 0}}];
DiscretizeRegion[mesh, MeshRefinementFunction -> meshRefine]
and note that I do not use the variable mean whatsoever!

can someone explain me this behavior?
(Mathematica 10.4 on El Capitan)