Just had the exact same issue as you very recently.
The conclusion of our team (based on the guidelines you mentioned and some examples of many other applications) was that the menu should contain all the functionality of your application, and the toolbar only a sub-set (the most used functionality).
Having the toolbar containing a different set or just an overlapping set of functionality would make things harder to find for a user, because there would not be a single place to look in for the user to be sure to find what the right command. And the user might also think that the functionality might be in some "yet another" place (for example, a context menu).
Also, most-common toolbar buttons do not have text. Only an icon. So in order to know what the buttons are used for, the user would need to wait for the tooltip to appear (what can slow down the user), or just click the toolbar buttons (but he might be "afraid" of doing so because he just doesn't know what he is going to get).
So it may be better if the toolbar is not the only place where some functionality is accessible.
Finally, another reason to see the toolbar as only a support to the menu (quicker access to functionality from the menu) comes when icons are used. When looking for some functionality for the first time, the user may first look the menu (showing the menu items with some icons where applicable), the place he is sure to find what he is looking for. Seeing the icon of the menu items, the user can later quickly recognize the same icons in the toolbar, and then can use the toolbar directly the next time he needs the same functionality. You may refer to the chapter "Recognition is easy, recall is hard" from the book "Designing with the mind in mind" from Jeff Johnson.
So I would suggest having everything accessible through the menu, and the most used functionality also accessible through the toolbar (and of course, keeping consistency of icons and terms between the menu items and the toolbar buttons and the tooltips).