Geom_smooth actually interpolates 80 points along the range of your data and then fits a Loess regression on that. It is incredibly slow to train on significant numbers of data points, hence the workaround.
Edit: I misremembered, it evaluates 80 predictions to draw the line, which is why you can't retrieve the formula from the plot object anymore, but it does in fact fit on the whole dataset.
Loess regression does have n^2 memory complexity, but the cutoff it uses to decide to go for a different model family is n >= 1000.