I tried to delete the object which was having '%' in its name. I observed that while creating the URL, this % is not getting encoded properly and hence the deletion was failing.
i.e. Object is "abcd%20-%20xyz/12"
% should get encoded and the URL should contains the object name as "abcd%2520-%2520xyz/12"
I am not aware if all of the reserve characters are handled or not.