You will probably not be able to delete the user if it is also a synced user. To clean this up I recommend that you remove the user from your Azure AD Sync scope, allow the user to be deleted from AAD on the next sync. Verify after that if the user is still there, but now only with Microsoft Account as authority. Now delete it, and remove from Deleted users too.
Put user back in sync scope and verify that the user is back in the cloud.
Also it is possible to change a user programaticly from Guest to Member, but that would probably not fix this issue.