Zu a) Nur lesen ist solange sicher, wie niemand (andere Threads) sonst in der StringListe Änderungen durchführen.
Zu b und c) Beide Varianten können nicht gehen, da es zu Problemen kommt, wenn man in einer Methode der Klasse den Konstruktor des eigenen Objektes (inherited Create...) aufruft.
...

...