Based on my own experience regarding oily film on the surface; I used to have an oily surface in my 3 gallon tank. At first, my tank came with a canister filter until I switched over to Azoo HOB filter. It did a far better job of removing the film on the surface.
What caused it? I determined it was uneaten flake food. I stopped using flakes and switched to micro pellets and bloodworms (I had 3 Neon tetras) and never got the oily surface since.