Resident set size of the language server stays constant and bounded by 1GB max (ideally less than 500MB).
I started vs code to work on my clone scikit-learn project (github repo) with up to date VS Code and its Python extension.
After starting VS Code, the language server analyses the code base without any error message and the memory usage reaches 800MB RSS after a minute or two (once the language server disappears from the VS Code status bar).
The problem happens progressively after a few hours (e.g. at night) leaving the computer doing nothing with VS Code open: resident memory usage grows to more than 3 GB, until there is almost no free memory on my laptop:

The language server does not crash either, though. It just holds onto 3GB+ RES & 7GB+ SHR memory.
Furthermore, when quitting VS Code, the language server process stays running in the background and does not free the memory until I kill it manually.
If I restart VS Code and close it less than 10 minute after, I do not observe this problem with the language process hanging in the background: it is terminated automatically and quickly.
Try
"python.analysis.downloadChannel": "beta"
See of 0.5.51 is any better.
I put that line in my user's settings.json file but it's grayed out ("Unknown Configuration Setting") with up to date VS Code (1.46.1).
But apparently a process /home/ogrisel/.vscode/extensions/ms-python.python-2020.6.90262/languageServer.0.5.51/Microsoft.Python.LanguageServer was started anyway. I'll let it run for a while to see if memory grows again or not.
The setting is not 'public' so it is normal to be grayed out.
So far it stays under 1GB RES.
Yes, one of the changes was better determination when analysis completes. Should be looping less.
I left my laptop running through the night with vscode with the scikit-learn folder open and the RES memory is still under 1GB this morning. So so far it seems to be stable :)
Let's close this issue!