Well, this is getting tough.
How about this:
1) Start the Activity Monitor application (in Utilities).
2) Start Safari.
3) In Activity Monitor, type Safari into the Search/Filter box in the upper-right corner of the main window.
4) Highlight Safari in the list of processes.
5) Click Sample Process and post the results here.
Here we go, i took this sample as the beach ball was spinning and showed "not responding" in activity monitor, let me know if you can read anything out of it:
Sampling process 13404 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Analysis of sampling Safari (pid 13404) every 1 millisecond
Call graph:
2823 Thread_272558 DispatchQueue_1: com.apple.main-thread (serial)
2823 0x100001a28
2823 NSApplicationMain
2823 -[NSApplication run]
2823 0x10000ba00
2823 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
2823 _DPSNextEvent
2823 BlockUntilNextEventMatchingListInMode
2823 ReceiveNextEventCommon
2823 RunCurrentEventLoopInMode
2823 CFRunLoopRunSpecific
2823 __CFRunLoopRun
2823 __NSFireDelayedPerform
2823 0x100035514
2823 0x100036508
2823 -[SafariSyndication updateBookmarks:andSubscriptions:]
2823 -[BookmarkedFeedsManager refreshFromSynBookmarks:subscribedBookmarks:]
2823 -[BookmarkedFeedsManager _doRefresh]
2823 -[PSClient removeFeed:]
2823 -[PSFeed _remove]
2823 PubSub::IPCClient::deleteSubscription(PubSub::SubscriptionCore*)
2823 ipc_subscription_delete
2823 mach_msg
2823 mach_msg_trap
2823 Thread_272563: JavaScriptCore: FastMalloc scavenger
2823 thread_start
2823 _pthread_start
2823 WTF::TCMalloc_PageHeap::runScavengerThread(void*)
2823 WTF::TCMalloc_PageHeap::scavengerThread()
2823 _pthread_cond_wait
2823 __semwait_signal
2823 Thread_272564 DispatchQueue_2: com.apple.libdispatch-manager (serial)
2823 start_wqthread
2823 _pthread_wqthread
2823 _dispatch_worker_thread2
2823 _dispatch_queue_invoke
2823 _dispatch_mgr_invoke
2823 kevent
2823 Thread_272572: WebCore: IconDatabase
2823 thread_start
2823 _pthread_start
2823 WebCore::IconDatabase::iconDatabaseSyncThread()
2823 WebCore::IconDatabase::syncThreadMainLoop()
2823 _pthread_cond_wait
2823 __semwait_signal
2823 Thread_272580: Safari: SafeBrowsingManager
2823 thread_start
2823 _pthread_start
2823 0x100025303
2823 0x100025373
2823 CFRunLoopRunSpecific
2823 __CFRunLoopRun
2823 mach_msg
2823 mach_msg_trap
2823 Thread_272581
2823 thread_start
2823 _pthread_start
2823 __NSThread__main__
2823 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:]
2823 CFRunLoopRunSpecific
2823 __CFRunLoopRun
2823 mach_msg
2823 mach_msg_trap
2823 Thread_272590
2823 thread_start
2823 _pthread_start
2823 __CFSocketManager
2823 select$DARWIN_EXTSN
2823 Thread_273404
2823 start_wqthread
2823 _pthread_wqthread
2823 __workq_kernreturn
Total number in stack (recursive counted multiple, when >=5):
5 _pthread_start
5 thread_start
Sort by top of stack, same collapsed (when >= 5):
mach_msg_trap 8469
__semwait_signal 5646
__workq_kernreturn 2823
kevent 2823
select$DARWIN_EXTSN 2823
Sample analysis of process 13404 written to file /dev/stdout