While not necessarily unexpected behavior, the example shown does seem weird.
The tolerance is used when matching the detected peaks to a reference m/z list, but it is not used to create that reference (e.g., from the mean spectrum) if none is provided.
However, the mean spectrum calculation will now happen on the centroided representation. Ideally this improves sensitivity of low-intensity peaks, but it could result in duplicate peaks like this if there is enough error in the peak's m/z values to result in large gaps in the detected peaks' centroids between different spectra.
To fix this, you can do peak picking on the mean spectrum calculated from the full profile spectra first, and then provide the output of this as the reference.
That being said, I'm curious what's going on here. If the data is reasonable size, can you send it to me?
Thanks,
Kylie