It's failing on line 58 of /better-rss-widget/includes/widget-form.php, trying to allocate 122880 bytes -- that attempted alloc pushed me over my 32M limit.
Here's the line in question:
parent::WP_Widget(false, $this->pluginName, $widget_ops, $control_ops);
It's in the constructor method for better_rss_widget().
This is just a guess, but is the widget constructor called after options are persisted?
If so, that's the problem -- under low memory conditions (which I was in, but didn't know it) if this call fails, then it would make sense that you'd see the spinning GIF. As I mentioned, when I refreshed the page the settings had been persisted.
I'm not a PHP expert, so I'm not sure whether out of memory errors can be trapped in a try/catch block (the PHP interpreter would have to reserve memory ahead of time), but that's the only idea I'd have, to wrap that call in a try/catch block. (It doesn't look like it's possible - http://coding.derkeiler.com/Archive/PHP/php.general/2007-10/msg00774.html - but I didn't look too hard.)
For now, I'm guessing that the best advice for your users, if anyone runs into the spinning GIF problem, tell them to increase PHP memory - if it goes away, that's the problem.
If WP 3.1 uses more memory than before, it's not too surprising that people with only 32m might be bumping up against the limit even if they were fine before.