Why removing docker containers and images does not free up storage space on Windows? How to fix it?

There are maintainance commands you can run on the more recent versions of Docker. They will free up space used by stopped containers, dangling images and dangling volumes:

docker container prune -f
docker image prune -f
docker volume prune -f

Maybe the images you are using, use volumes. If they do then deleting the container doesn't do the trick. You must delete the volumes as well. In order to do that you must specify the -v flag when deleting a container

docker rm -v <container name or container id>

Depending on your docker version you will have some more commands available. Check this SO thread for more. You can read more about orphaned volumes in this SO thread