‘gOverlaps’ returns TRUE when the geometries share some but not
all interior points, and the intersection has the same dimension
as the geometries themselves.
Hence gOverlaps(A,A) == FALSE due to that 'but not all' part of the
documentation.
Barry