First, try to emtpy the trash securely. Do so by holding down Command+Option+Shift+Delete. If that doesn't work try the following but I warn, be careful:
Copy the following: cd ~/.Trash; rm -rf *
This can be copied by highlighting the above terminal command, then click Command+C at the same time on your keyboard which will copy the desired command.
Click on the Spolight in top left corner on your Mac;
Type in 'Terminal';
Click on the Terminal App;
When Terminal opens, on the keybard press Command+V which should then paste the command into Terminal, then simply press enter on your keyboard.
Your Trash icon on the dock should now be completely empty.. DO NOT FORGET TO QUIT TERMINAL… DO NOT TYPE ANYTHING ELSE IN TERMINAL… QUIT TERMINAL….
That will 1000% for sure empty anything in the trash that will not delete.
It's a bug that I believe started in Lion again in 10.7.4. Try Secure Empty Trash by holding down the command key while pressing and holding your mouse pointer on the trash icon. That brings up the secure empty trash command, select it with your cursor. Alternatively, you can access the command while in the finder under the finder menu, or you can set it to always secure empty trash in the finder preferences advanced tab. This type of "trashing" takes longer. Send feedback to Apple asking to fix this bug.