I think the point is you *could* do something harmful (like removing a referenced BMAP) in some other function which is running during wait(1).

If the examples above are to be considered standalone, meaning nothing else is running during the wait(1), this of course does not apply.