The answer to both questions is: stop focusing on words and grammar.
The big difference between people who are intermediate in English and people who are advanced (and beyond) is that they’ve learned to CHUNK their English well, and this has little to do with grammar.
For example: “take a picture” and “make a picture” are both grammatical – but only one sounds natural; “thanks very much” is ungrammatical, but every native speaker says it.
So studying grammar isn’t enough, or even the best way to do it.
Same if you keep forgetting your words — it’s because you’re trying to remember words, but you should be learning “chunks” of words.
Linguist John Rupert Firth said:
“You shall know a word by the company it keeps.”
And this is true.
What it means is, to really understand a wordーits true meaning, nuance and useーyou’ve got to understand how it combines with other words. Words rarely appear alone. And indeed, native speakers aren’t, for the most part, speaking using grammar rules and individual words like you were taught.
Rather, as I said, we speak using ‘chunks’.
We used to think native speakers had grammar rules in their head, and that they combined these with words to make sentences… but this never made much sense. Speaking like this, we shouldn’t be able to speak fluently because the brain’s RAM (working memory) simply isn’t that good. Using grammar and words, we’d speak slowly and awkwardly (like most non-native speakers who have learned to speak in this way). Also, we shouldn’t sound natural simply because most “grammatical” English isn’t natural (again, “make a picture” is grammatical — but only, “take a picture is natural”).
Native speakers speak in chunks. And if you also want to speak in an advanced, native-like way, that’s how you need to speak, too.
The easiest way to do this is to learn in chunks right from the beginning.
And I have a free training here that will show you how to do that.