Si se puede enviar un ArrayList como parámetro a una llamada al método de un objeto.
Cita: obj.InsertarDatos(ArrayList lista);
Si esta es la llamada que empleas entonces lo que esta mal es que sobra especificar el "ArrayList" del parámetro. Sin embargo, si debes especificar que tipo de parámetro recibirá el método en la construcción del mismo.
Espero poder haber sido de ayuda.