.net: debugger highlighting line of code not actually being executed
<p>Copy and paste the following into a new console application in VS. Add references to System.Web and System.Web.Services (I know console apps don't need these assemblies, I'm just showing you a snippet of code that does not work in my web application).</p>

<p>Although both conditions in the if statement are false, it's turning out to be true. Anyone know the reason why? (Visual Studio 2008 9.0.30729.1) .NET 3.5 SP1</p>

<pre><code>using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Services;
using System.Web;

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            string x = "qweqweqw";
            string y =
                "{\"textMedia\":[-1,-1,-1,-1,-1],\"textOperand\":[1,1,1,1,1],\"textString\":[\"\",\"\",\"\",\"\",\"\"],\"dateSite\":[-11],\"dateOperand\":[],\"dateString\":[],\"status\":[-11,0,0],\"media\":[-11,0,0],\"subItem\":true,\"context\":false,\"branchSearch\":false,\"profileIDs\":[2,5,18],\"profileViewIDs\":[48,58,38],\"currentSelectedBranch\":0}";

            SaveSearch(x, y);
        }

        [WebMethod]
        public static object SaveSearch(string name, string encodedSearch)
        {
            object response = new { };

            string x = name;
            string y = encodedSearch;

            // Why does this if statement throw an exception if both equal false?
            if (x.Trim().Equals(string.Empty) || y.Trim().Equals(string.Empty))
                throw new AjaxErrorException("Save Search", "Something went wrong", "JSFunction");


            try
            {
                {
                    return new
                    {
                        error = false,
                        name = name,
                        userID = 123,
                        date = DateTime.Now
                    };
                }
            }
            catch (Exception ex)
            {
                String e;

                if (HttpContext.Current.IsDebuggingEnabled)
                    e = ex.Message + "\n\n" + ex.StackTrace;
                else
                    e = "error error aliens approaching";

                throw new AjaxErrorException("Save Search", e, "");
            }

            return response;
        }

        public class AjaxErrorException : System.Exception
        {
            public AjaxErrorException(string title, string details, string function)
                : base(title)
            { }
            string _stackTrace;
            public override string StackTrace
            {
                get
                {
                    return _stackTrace;
                }
            }
        }
    }
}
</code></pre>
