Solution Found!
I have discovered my problem!
My problem was the fact that I didn't consider aspects of how the lsof command works. When my script executed:
StayOpen=`lsof | grep /Path/to/FolderName | rev | cut -c1-10 | rev`
while [ $StayOpen = "FolderName" ]; do
StayOpen=`lsof | grep /Path/to/FolderName | rev | cut -c1-10 | rev`
done
It would put FolderName inside $StayOpen. Then, as bash used this script that was held open the lsof command would show more /Path/to/FolderName lines, and grep would also through in a few as well. Here is an example of the lsof command in use:
Finder 74682 home 11r DIR 1,3 204 2083863 /Path/to/FolderName
bash 77513 home cwd DIR 1,3 204 2083863 /Path/to/FolderName
bash 77513 home 255r REG 1,3 1618 2091009 /Path/to/FolderName/TheScript.tool
bash 77823 home cwd DIR 1,3 204 2083863 /Path/to/FolderName
lsof 77824 home cwd DIR 1,3 204 2083863 /Path/to/FolderName
grep 77825 home cwd DIR 1,3 204 2083863 /Path/to/FolderName
grep 77826 home cwd DIR 1,3 204 2083863 /Path/to/FolderName
grep 77827 home cwd DIR 1,3 204 2083863 /Path/to/FolderName
lsof 77828 home cwd DIR 1,3 204 2083863 /Path/to/FolderName
One would indicate that it was through the Finder Application, while the others would indicate that it was bash that was using them. The ONE that said Finder is the actual directory.
So, $StayOpen would become, "FolderName FolderName FolderName FolderName FolderName FolderName FolderName FolderName". Thus the error: too many arguments.
My solution was to pipe it through grep a couple more times so I can pinpoint it as being used by Finder and, to cover as many basses as I could, to specify that it is a directory. Then I reversed my approach so I could have yet another fail safe:
StayOpen=`lsof | grep /Path/to/FolderName | grep Finder | grep DIR`
while [ $StayOpen != "" ]
do
StayOpen=`lsof | grep /Path/to/FolderName | grep Finder | grep DIR`
done
This extra fail safe (!=) now needs a specific value to close, rather than a specific value to open. So if something throws it off, now it be kept open, rather than find a different value and close because it didn't mach what it needs to stay open. So, I can do my work they way I want, and then, if something screws up and keeps it open, I simply click on the terminal and hit Control+C to close it.