In C++ the new or new[] keyword tells the system to allocate dynamic memory, the delete or delete[] keyword tells the system to deallocate dynamic memory.
As FurryGuy said, it has nothing in itself to do with dynamic memory. A destructor is called when delete/delete[] is called on a dynamic object, or automatically when an object on the stack goes out of scope. A destructor should not be called directly by the user.
Most likely, the ~ is referring to the declaration of a destructor of a class.
It was a fill-in-the-blank quiz question, not a question that asked what '~' is used for. I mentioned the bitwise NOT operator since the question was on keywords.
The OP even admits they had a brain fart. Something that happens to me more often than I'd like when it comes to C++ syntax and features.