You do realise that
await UserManager.SendEmailAsync(emailExist.Id, "Confirm your account", ConfirmAccountMailBody(callbackUrl));
will only wait until the email is sent, not wait for the user to respond to it (or even receive it)?
If you want an email confirmation, you send it, and then process with confirming it from the page the user gets to when they click the URL in teh email they receive. You can't just send it and assume the user will respond immediately!