You do initialize chgbtch when you do:
Dim chgbtch As New ChargeBatch
The error is likely coming on
chgbtch.ChargeItems(iMyChrgItem).OwnerKey
because ChargeItems has not been intialized.
There are a couple of ways of handling this and you decide which works better for you.
After you initialize chgbtch you could also initialize ChargeItems
chgbtch.ChargeItems = New List...
or you can create a Constructor for your Class and in the constructor initialize all of the needed variables.