Yes if it is false, means the found function minimum is not valid. The possible reasons are:
edm is above the maximum value given ( min.IsAboveMaxEdm() ) and the iteration stopped for an error in Minuit (typically a precision problem in computing the objective function)
The maximum number of function call has been reached min.HasReachedCallLimit()
computing the Hessian or inverting it to compute the covariance matrix failed min.HesseFailed();
By calling
FunctionMinimum min=migrad(maxfcn, tolerance);
where you can pass also the maximum number of function calls (maxfcn) and the tolerance (tolerance);