As above, they serve different purposes. Also:
This actor will spawn 2 new actors, bind them and then destroy itself:
Even though it’s gone, and so are the hards refs, the connection between those two dynamically spawned actors remains intact. You can’t do that with an Interface.
If you bind 100000 delegates, a single call would be incredibly performant. Were you to send 100000 interface calls instead, you would not be able to, most likely… not in the next 5s while everything has to come to stop. Interface calls are slowish, but the required loop iteration would be sluggish AF.