Please check whether the function GetAppliedLeaveBalance() returns any data back for LWP as suggested in the comments.
Also it is a better practice to check
is not null and has some elements before using any value from it.
The below code makes sure arrchkleave has at-least one element and avoids the exception you are facing.
if(arrchkleave != null && arrchkleave.Count > 0)
leavebal = Convert.ToDouble(arrchkleave);