Ich glaube auch nicht, das hier die Grenze jemals erreicht wird, aber wenn man es -rein theoretisch- optimieren will (weil es regnet, einem langweilig oder nur um mal zu sehen, ob es geht), dann würde man einen Cache einbauen, der die Icon-ID mit dem ImageListIndex mappt. Und wenn nun die ImageList mehr als z.B. 1000 Einträge hätte, würde man den ältesten Eintrag aus dem Cache, und das Icon aus der ImageList rausschmeißen und im Cache alle Indexe aktualisieren.