Just to be sure, you are using filter(), not Filter()? The lowercase is the correct {dbplyr} command, the uppercase might default to base's Filter() which would not know how to work with SQL databases. Same for collect() vs Collect() (which I'm not sure exists). R is case-sensitive, unlike SQL.
Anyway, agreed with HanOostdjik, it looks like the filtered table is still too big to fit in memory, you can try to extract less information (either fewer columns with pull() or fewer rows, or do some summarize()ing before collect()ing).