*Scratches chin*
Well you'd have a limitation of the amount of continuous memory. As by default 99.9% of gif reading programs just front load the frames all at once which has to be a continuous stream of data. However, if you wrote your own reader that reads the frame from the data source and then deletes the frame from memory then your limitation becomes based on your data storage.
Using the 1x1 pixel concept, each frame is exactly one byte. Excluding gif header information which is rather small, you could store 1,099,511,627,776 frames per terrabyte of stored data. At a rate of ten frames per second that comes out to a little over 3,486 years.
However, looping becomes an issue. Only 256 colors exist in a gif, or on your 127th frame you have shown the same exact image more than once which kind of invalidates your no loop limitation. However, if you make it the image display five pixels then the total possible unique frames increases to that exact 1,099,511,627,776 number. Except now your duration is reduces to one fifth. To an almost 700 years per spare HD you have laying around.
Then of course, since the pattern is is rather simplistic. - Count form 0 to 255, expand size - You could in fact write a program to mathematically calculate the next frame per gif standards. By the time you have a 5x5 image you have 4.113761393303015e+62 unique frames and I'm not even sure what that means. Can we just call it infinite?
Does that help answer your question?