La routine "stampa_Draw()" è più precisamente un evento del componente Printer, e non è necessariamente legato all'oggetto DrawingArea. Infatti, se tu usi quel tuo codice in un progetto privo di DrawingArea, il risultato di stampa non muta. Infatti gli elementi da stampare (nel tuo caso solo testo) li hai definiti nei metodi ".DrawText", e con la proprietà .Font.Size, della Classe Paint .
Il predetto evento è scatenato - a mio parere - dal metodo .Print della Classe Printer che tu hai usato all'interno della parola With, giustamente per effettuare la stampa (in questo caso su .pdf).