This is because the expression returns an array. Can you send a snapshot of your data - the field of interest is the "Total_Current_Charges".
Since you have category grouping, you may need to update your expression with FIRST for the Total_Current_Charges e.g.:
=IF(FIRST(Fields!Total_Current_Charges)<20, "Less than 20 OMR",
IF(FIRST(Fields!Total_Current_Charges)>35, "Greater than 35 OMR", "Between 20 and 35 OMR")) + " - " +
FORMAT(SUM(Fields!GrossProfit.Value), "N0", "en-us") + " - " +
FORMAT((SUM(Fields!GrossProfit.Value)/SUM(Parent.Fields!GrossProfit.Value)), "P0", "en-us")
Best Regards,
Nevron Support Team