What is happening is when it loops through the file, once it hits a line that would return false it will say the rest are false so(we are only looking at numbers and letters by the way):
Go hang a salami. I'm a lasagna hog. Is a palindrome
Cigar? Toss it in a can, it is so tragic. Is a palindrome
Dog as a devil deified lived as a god. Is a palindrome
(Thanks to Jason Hanson) Is not a palindrome
Stressed? No tips ? Spit on desserts. Is not a palindrome
(Thanks to Cbmac62) Is not a palindrome
No, Sir! Away! A papaya war is on! Is not a palindrome
(Thanks to Kathy) Is not a palindrome
That is not because of the value equal takes on. That's because you abort checking through your queue and stack when it's apparent the string is not a palindrome, and don't empty them so that on the next iteration of the loop they still have unprocessed stuff in them from the last iteration.