Another thing I might suggest is to read German translations of books you love and know well. Already being familiar with a story makes it a lot easier to deduce the meanings of unknown words from context, and it makes extensive reading easier and faster. You can always check back with the original if you get stuck. Translations aren't "authentic" material, obviously, but more reading is always better than less reading. Parallel texts are good, too, though it's harder to avoid the trap of looking at the English.
Of course translations aren't necessarily one-to-one cribs, which is probably just as well from a literary standpoint, but it does make it harder to use a translation as a dictionary. You may notice things from the original that have been omitted or glossed over; I've also occasionally come across places where a translator clearly misunderstood the original. Those may be amusing but translation differences and mistakes are often instructive if you take the time to think about them.
I had a teacher once who firmly believed in building vocabulary by graduating from a translation dictionary to a monolingual dictionary as soon as possible. It may be slower and harder, especially if you then need to look up the words in the definition, but you'll acquire more vocabulary this way, and you'll stay within your L2.
Another teacher suggested that once you reach a certain level you invest time in reading the monolingual dictionary for its own sake and exploring words. I admit that I've never done this myself (too many other things in the queue). If you have time to explore, I do like http://corpora.uni-leipzig.de/en?corpus ... crawl_2011
. Looking at synonyms and related words may help to connect new words to ones you already know. In one language class I used to have vocabulary quizzes where I had to list not only the meaning but as many synonyms as I could come up with for a given word; I actually enjoyed that.
That Leipzig site also tells you how relatively common a word is, which helps you judge how essential it is to memorize it.