Windows 10, n/a
Short description of error
When two meshes are joined with a union boolean modifier and both meshes share at least one vertex with the same coordinates, the resulting mesh will contain non-manifold vertices. Some of these can be repaired by removing doubles, some can't.
Exact steps for others to reproduce the error
Open the mesh where the boolean modifier has been applied in edit mode, then select non-manifold, several vertices will be selected. Then select all and remove doubles. Some vertices will be removed (I think 6), but non-manifold geometry remains.
However, if the two meshes are moved apart slightly before applying the boolean modifier (this can be done with the middle mesh, where the modifier is still unapplied) so that no vertices share the same coordinates, the problem disappears. There are no double vertices and no non-manifold geometry.