since i didnt read your code, am going to post the one which they have put in the documentation ..
$this->email->clear()
Initializes all the email variables to an empty state. This function is intended for use if you run the email sending function in a loop, permitting the data to be reset between cycles.
foreach ($list as $name => $address)
{
$this->email->clear();
$this->email->to($address);
$this->email->from('your@example.com');
$this->email->subject('Here is your info '.$name);
$this->email->message('Hi '.$name.' Here is the info you requested.');
$this->email->send();
}
and if this didnt work with you, i have another thing which is much more suitable and to be honest better than the builtin mail class, try to use the Swift-mailler library which can solve most of your problem ..