This post shows you how to solve Cannot implicitly convert type 'System.Threading.Tasks.Task<bool>' to 'bool' in C#.

For example:

public Task<IdentityResult> CreateAsync(ApplicationUser user, CancellationToken cancellationToken)
{
    return Task<IdentityResult>.Run(() =>
    {
        IdentityResult result = IdentityResult.Failed();
        bool createResult = _userRepository.Insert(user);
        if (createResult)
            result = IdentityResult.Success;
        return result;
    });
}

You can modify your code as shown below.

public Task<IdentityResult> CreateAsync(ApplicationUser user, CancellationToken cancellationToken)
{
    return Task<IdentityResult>.Run(() =>
    {
        IdentityResult result = IdentityResult.Failed();
        bool createResult = _userRepository.Insert(user).Result;
        if (createResult)
            result = IdentityResult.Success;
        return result;
    });
}

You can use Result which will wait until Task completes and return a result.