Тонкая плёнка окисла действительно переливается "всеми цветами", но это не цвета радуги.
Эффект действительно вызывается интерференцией. А возникает интерференция потому, что свет отражается от двух поверхностей - и поверхности металла, и поверхности окисла. А раз есть две поверхности - значит, есть и оптическая разность хода между отражёнными лучами. Всё ж один из них, тот, который отразился от металла, прошёл путь чуть более длинный, чем тот, который отразился от внешней поверхности (окисла). И вот если для какой-то особо невезучей длины волны разность хода лучей составит точно половину длины волны (или вообще полуцелое число длин волн), до наблюдателя такие лучи дойдут в противофазе. То есть они погася друг друга. И соответствующий цвет как бы пропадёт. А если повезёт и окажутся в фазе (разность хода равна целому числу длин волн) - то, наоборот, усилятся.
Отсюда следуют две вещи. Первое: то, какой именно цвет пропадёт, зависит от толщины плёнки и от того, под каким углом на неё смотреть. Потому что, как не штука сообразить из простейшей геометрии, разность хода - это две гипотенузы треугольника, образованного поверхностью металла, толщиной плёнки и собственно лучом света в плёнке. В чистом виде катет делить на косинус угла, под которым свет распространяется в плёнке. Второе: это вовсе не цвета радуги. Радуга возникает из-за дисперсии света, и в ней, в идеале, чистые цвета (монохроматические). Лучше всего это видно не на радуге, а если взять хорошую призму. А вот интерференционные цвета - цвета дополнительные, а не монохроматические. Там идёт исключение каких-то длин волн. Поэтому интерференционные цвета, что цвета побежалости, что "радужная плёнка" мыльного пуыря или бензина в луже, вовсе не такие, как цвета радуги. Они всегда "грязные".