Does anyone know why there is a big gap between the array objects even though relative offset is set as 1? I have checked the scale etc but can't figure it out. Thanks
Object's Bounding Box
There's a lonley vertex who is altering your object's bounding box size.
The size of the geometry bounding box is what the array modifier takes into account for shifting the object with "Relative Offset" option enabled.
Just get rid of it and all should works fine.