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);