When Boolean operations do the opposite of what you expect, it is almost always that you have one or more parts that you think are closed but are not. These open parts might have their normals facing inwards - with closed objects they always face outwards. As Rhino uses the normal direction to determine how to create the Boolean, and assumes all parts are closed, the operation gets done "backwards"...
In this case it is your angle part that is not closed. Turn on naked edges to see. You can fix those so the object is closed; then the Boolean op will work correctly. If you use Flip on the object you can flip the normals to the outside, then the Boolean operation will work even if the object is not closed.
You might also want to look here and here for more info on Boolean operations and closed objects.