So wie ich das interpretiere, ist der SmtpClient noch damit beschäftigt, die erste Mail zu verschicken, und dann kommt aber sofort die nächste rein, will connecten und dann kommts zur Fehlermeldung. Baue ich nach jedem Durchgang ne Pause von 5 sek. ein, klappts.
Das ist wahrscheinlich kein client- sondern ein serverseitiger "Fehler": der Client versucht die nächste Mail zu senden, während der Server noch etwas Zeit benötigt. Der Server kann dies auch tun, um Spamversand zu begrenzen, also das "not ready" nur vortäuschen. (d.h. er könnte schon, will aber noch nicht)
Wenn der Server im eigenen Einflussbereich ist, kann man das Limit heraufsetzen lassen - also zum Beispiel einen Versand pro Sekunde erlauben lassen. Ich würde es bei lediglich zwanzig Mails aber nicht als dramatisch empfinden, und den Admin nicht wecken