If you're on linux, sometimes some process could have deleted the files but still have them open. That could be the reason for the difference in free disk space that you see, via a process and `df / du` commands. This answer
on Unix StackExchange might help you to figure out which process is holding them and restarting that process should free up the disk space.
To answer your other question, if there is no disk space GoCD can't update the assignment information to it's Database (I'm assuming you're using the local H2 database still) which might sometimes cause the agents to not get assigned.
Restarting the go-server might be the first step to see if that fixes the issue, followed by the analysis of which process is holding up a lot of open files. Good luck debugging the issue.