don't do that. It will be too much of a work for the core service to load that for each component in a folder per each browse. You will probably crash UI.
What you can do is still use the core service, but get PublishInfo for each of the component.
For example:
PublishInfoData[] publishInfoData = CoreServiceConnector.Client.GetListPublishInfo(item);
PublishInfoData contains all the details on which target item is published with which template and so on:
I am providing you this solution because when you check where item is publish, component can be added with static template on a page, and you don't need to check the publish state of the page, you can check the state on the component itself.