Nicht vergessen, hier geht es um Prism
List<T> als Rückgabetyp darfst du gerne machen. Und selbst wenn T IDisposable implementiert, läufst du in der Regel nicht mit offenen Armen in ein Speicherleck (weil solche Klassen auch ihre Finalizer überschreiben und dort Dispose aufrufen), aber man sollte sich dann nicht darauf verlassen, dass der GC alles zeitig abräumt.