I am a proponent of researching the historical context of poetry to help with the interpretation, and for art songs, to also look at the music, to deduct the composer's interpretation. Here are my musings on this particular poem/song, which happens to be one of my favorites.
Heine was famous for his irony and sarcasm, so a question whether irony or sarcasm is part of the poem is a legitimate and relevant one, and sarcasm and irony has been suggested by some scholars for these poems. Arguments against it are, that these are early works of Heine, where his sarcasm didn't dominate his writings, and that he wrote these poems at times when he suffered from rejection himself.
My sources are ambiguous on whether this particular poem was included in the "Tragödien,
nebst einem lyrischen Intermezzo" from 1823, or whether it got added to the cycle for "Buch der Lieder" in 1826 - but these poems were certainly among his early works.
The connection between his personal life (his love to his cousin Amalie) and these poems has been refuted strongly by Heine in 1823, when he wrote "man verunstaltet das Gedicht wenn man ihn [den Einfluß der Geschichte] fälschlich hineingegrübelt hat" (one disfigures the poem, when one speculates [the influence of the history] wrongly into it).
That being said, the original poster asked about "Ich grolle nicht" from Schumann/Heine - meaning not just the poem but also the song.
Schumann hand-picked 16 to 20 songs out of 65 from this cycle to be included in the song-cycle "Dichterliebe" (only 16 were included in the original publication). The title that Schumann chose ("Dichterliebe") tells us, that he indeed saw the poems as an expression of Heine's own feelings. The way Schumann composed this particular song tells us about Schumann's interpretation of the poetry.
First I look at the position of this particular poem in Schumann's cycle: The song before it compares the beloved one to a likeness of Mary in the cathedral in Cologne. The song afterwards talks about his broken heart. To me, there is no indication of sarcasm in these two songs. "Ich grolle nicht" is the first that talks about rejected love, and in my opinion sets the tone for the following songs, is the transition from happiness to suffering.
Now I look at the song itself, starting with the piano part. Often, the piano conveys the mood of a song, a subtext that goes beyond the words and the melody. The heavy 1/8th note chords with very low bass notes create a emotionally heavy mood, and underline, in my opinion, the overall feelings that are being portrayed.
In the voice part, it starts in the low range of the voice from mezzoforte going to forte. This gives the impression of "growling", contradicting the words "ich grolle nicht", telling me, that the person indeed is angry.
Then, at "Ich sah dich ja im Traume", where he describes seeing her in his dreams, it briefly becomes more soft (piano) and the voice ascends to the middle range. To me this is a short reminiscence of love, only to turn into now overt anger and pain at "und sah die Schlang', die dir am Herzen frisst", with "frisst" at the top of the vocal range of the singer with a crescendo (increasing volume), which is difficult to sing beautifully. This comes out in performance as a scream. (Schumann allows singers to take these high notes at a lower pitch, a common practice to enable singers with a narrow range to actually sing a song)
The song ends singing "ich grolle nicht" twice again in forte going back to the low range, to me, underlining again the difference in his feelings, and his intentions of taking the higher route of not being angry, or trying to command himself not to be angry.
Thus from my (short) interpretation of the music, I don't see any sarcasm or irony in this song (It would be possible to go deeper, and also analyze the harmony (i.e. the choice of the major (hard) key C as opposed to minor (soft) key, , but that would certainly be beyond the purpose of a German language forum).
If this is going beyond what should be on stackexchange, I apologize, and will remove this post, if requested.