redirect先との通信が成功するかどうかではなく、redirect先との通信が何らかのセキュリティ上の問題を引き起こす可能性があるかどうかを判断の基準にするべきではないでしょうか。仮にopen-uriがPUTをサポートしたとしたら、無条件にuntaintしてredirectするのはまずいですよね。RFC2616でもredirectはGET/HEADのみということになってますが。endでredirectが妥当かどうかをチェックしているので、何らかの危険性があると判断されるようなredirectはここで蹴って、その後でuntaintするのがよいのではないでしょうか。