Making Two Objects EXACTLY Flush
The "flickering overlap" (known as z-fighting) isn't really avoidable. Due to things like floating point rounding errors, there is no such thing as exactly flush in computer graphics. If two polygons are coplanar enough, you start getting calculations that sometimes round off with polygon A being on top, and some round off with polygon B on top. Hence, z-fighting. In most cases, you are much better off having either a small gap or subtly intersecting the two objects, depending on your needs.

That said, you can use face snapping to get one object "flush" with another object: Snap object on top of surface of other object

But again, due to precision limitations, "flush" is ill-defined and hovering or intersecting the two surfaces is often preferable so one is strictly defined as being on top of the other.