Changes Equal to check using .Equals instead of !=

Checks value and not reference, which != does by default.

This makes it possible to check if two strings' values are
equal even if they are casted to objects and the reference
isn't the same.
According to the comment above the check, this should be
the preferred behavior.