Instead of removing the administrator role from the selection list, I think you should remove the administrator role from the array creating the selection list.
So instead
foreach (String role in Roles.GetAllRoles())
foreach (String role in Roles.GetAllRoles().Where(role => role != "admin"))
You could further annotate this limited role call in your own method, if you like.
, linq.
ViewBag.roleList = Roles.GetAllRoles().Where(role => role != "admin").
Select(role => new SelectListItem { Text = role, Value = role}).ToList();
, SelectList .