Let's try this. When you create your stringbuilder, you immediately append a double apostrophe and then a comma. I'm wondering if an empty set of apostrophes is causing issues. For curiosity's sake, try this:
StringBuilder inAppId = new StringBuilder();
for(int j = 0; j < ServiceList.Count; j++)
{
inAppId.Append("'" + ServiceList[j].App_Name + "'");
if(j < ServiceList.Count - 1)
inAppId.Append(",");
}
I'm kind of fishing for a solution here, but I've come across some row return issues when things look like they should work, but there's non-necessary text in the query string.