Had a colleague ask me to explain a delegate. Answered him with a video and code from scratch. A simple stick-person is drawn to show the Object-Oriented-Programming in this advanced topic.
It was obviously a simplistic and contrived application, designed solely to demonstrate how to create and invoke a delegate. An app that actually solved a problem requiring the use of delegates would be way to involved for a tutorial. I think this was simple and to the point. Well done, Eugene!
You are completely correct that this is too-much coding for a smaller project and smaller program. When the program starts to become larger, then the complexity of non-OOP becomes difficult. The point is to explain how OOP Delegates worked.
An example would be building a robot, which has touch sensors, legs, arms, head, body, a sensor to keep the body upright. This type of project would likely require a group of programmers. To make it easier to determine that there is an issue with the arm algorithm, where the robot squeezes a glass too hard and the glass breaks, the programmer could look in the touch sensor algorithm and not worry about the legs, head, and possibly look at the arm algorithm.
Since the code is an object, adding or removing an arm would be easier than going through the interlaced code.
As Tim mentioned, its just a simple program to understand the concept - thats all