Let me guess, you've tried docker prune, optimize-vhd or disk part but that didn't work. You've read tons of blog posts and watched a bunch of YouTube video's but to no avail. It seems to be a big mystery as to why docker doesn't release all of the hard drive space that it uses.
There is a reason for this. Docker uses up a lot of RAM. It uses far more RAM than you have available. And will do this for long periods of time. When this happens your C:\Windows\Temp folder gets full. So what you must do is periodically empty your temp folder and that will give you back all the space it used.
Hope this helps and reduces someone's frustration.