Sure. You are asking for a metric ton of data, with an arbitrarily large amount of replication, and evidently the Biomart server is taking longer than curl_fetch_memory is willing to wait. I did get it to go, and I wonder what you plan to do with a data.frame with almost 1.4 million rows?

> dim(hsapiens_inf)
[1] 1383187 4

Do note that the Biomart server is going to return a fully normalized table that is joined across each of the attributes you are requesting. So if a gene has two transcripts, you get two rows. And if the transcripts have say three exons each, you now get six rows. And if there are different proteins in there, you get more rows still. All for one gene.

Oh, you mean gene ontology, not onthology. Fair enough. And if you prefer to do it your own way, rather than using the existing packages to do so, I guess you should have at it. But do note that doing things 'your own way' implies that you A) know what you are doing, and B) have it handled. So good luck with that!