boolean union having problem when combining cubes with same height I tried to union 2 cubes , this supposed to be very easy task, but fail at some point. (cross object on the left) So i create union of two identical box/cube , i reposition the second cube so it cross each other and it works great. But in the right side, i tried to do the same thing but this time the cubes has different size but still have the same height so their top faces will be overlapped each other. 

So i select the bigger cube, add boolean , pick the smaller cube, set to 'union' and set solver to 'bmesh' ( i tried carve and doesn't give a correct result). So they looks correct, but when i applied the boolean and go to edit mode, there're some overlapped interior faces which is not what i want, i can delete the faces but what is wrong ? how to fix this ? 

Thanks

edit :
note:  to reproduce the error , the smaller cube has to have same height as the big cube , so both top faces have to overlap each other.
Select the large rectangular add boolean modifier. Select the object (small rectangular). Operation as union.