Juce CallOutBox points to wrong bounds on macOS

juce CallOutBox points to wrong bounds on macOS but works correctly in iOS. Here is the code I am using

juce::CallOutBox::launchAsynchronously(std::move(content), button.getScreenBounds(), getTopLevelComponent());

Tested and works correctly as iOS standalone app and AUv3.
Not working on macOS standalone app and AU. (arrows points to wrong point and sometimes no arrow visible).