Drupal 7: Duplicated and Extended values on hook_preprocess by Drupal
This bit is the problem:

$variables['members'] = $variables;


When you declare named variables in your theme function they are passed in as named keys of the $variables array. So when you call your theme function:

// Note the array wrapping the passed variable and also the 'members' key of the array. This is required in Drupal 7.
print theme('team_members', array('members' =&gt; $members)); 


This is what you'll get in your preprocess function:

$members = $variables['members']; // This contains the original member array passed to the theme function as the named variable 'members'.


What you're doing at the moment is overwriting $variables['members'] with the $variables array itself, so all you're really doing is adding an extra array around the variables array.

Try putting the members that are passed into the preprocess function into a different variable:

$variables['custom_variable'] = do_something_to($variables['members']);


and outputting that one in your template file:

print $custom_variable;


I think that's what you're trying to do, have a look at hook_theme() for more information :)