I get those kinds of errors sometimes and I don't do WSL. Windows is sometimes just finicky with rust compilation. When that happens what I do is rm -Recurse -Force ./target in PowerShell to deal with it.
In the case that cleaning out your compilation isn't worth it time-wise, you could always try to delete that specific file with admin privileges.
You could be running into path locks. This information may be grossly out of date, but if VSCode has a file open (even read-only), then any parent directory of that file will not be able to be renamed.
"finalizing incremental compilation session directory" seems like it could be attempting to make use of atomic rename as a transaction to commit results.
NB: I have no idea how any of this code actually works, so could be off base.
VS Code has settings where you can configure match patterns to tell it to not include certain files and/or directories for searching, watching, etc.
I went into File -> Preferences -> Setting. In there I find Text editor -> Files. In there I find some places to add match patterns for Files: Exclude , Files Watcher: Exclude and Search: Exclude,
I add the pattern **/target/** to all of those.
And restart VS code.
As far as I can tell so far that has fixed the issue with those warnings.
$ cargo build
Blocking waiting for file lock on build directory
a few times.
Which as far as I can tell from watching things is caused because VS Code is busy running rust-analyzer and or 'cargo check' itself at the time. Which can take a long while...