Your teacher is wrong and your examples are perfect.
The subject pronoun can be used, for emphasis or for marking distinctions: I would say
Io sono italiano, lei è catalana.
when asked about me and my fellow moderator Charo. But if asked “Di che nazionalità sei?", I'd answer
because no emphasis or distinction is necessary.
The subject pronoun is mandatory when there is no predicate (noun or adjective). For instance, a mother asks her children Chi ha mangiato le caramelle? (Who ate the candies?). The guilty party would answer Sono stato io (I did). Note the inversion (that is not done in some dialects, though).