It's hard to say without looking at your code, however, I can give you a few pointers.
First, rather than declaring your widgets as globals (that could get quite "big") we often use a structure declared in main() and pass it to our callback functions as user_data. An example of using this method can be seen in Execute command into a GtkTextView (C and Libglade)
As for making sure the status bar is updated quickly, you might want to use this handy bit of code.
while (gtk_events_pending ()) gtk_main_iteration();
This will allow your UI to catch up should you be in the middle of processing something. We use this quite often for things like status bar messages and progress bars. If you put that immediately after the code that adds text to the text view, it might solve your problem.