The relay you are using has two characteristics which may explain your problem:
"2 Channel 5V...": The logic level of the pi's GPIO pins is not 5V, it is 3.3V. There are of course several 5V live pins which could be used to power the relays, but those cannot be controlled -- they are not really GPIOs. They are just on whenever the pi is. Even if you are correctly using them to supply the relays with power, the GPIO control lines likely cannot drive a signal which counts as "high" for a 5V input (sometimes they will work, but it is not a guarantee1). This means no matter what you do with those pins as outputs, their signal will count as low and pull the line down.
"Low level suction close, high level release": This means when the control line is low, the relay contacts are "closed" together, i.e., its circuit will be on and whatever is attached will receive power. When the control line is driven high, the relay contacts will be "released" or opened, and the power to the attached circuit cut.
Since likely you all you can do with the pi's 3.3V outputs is generate what counts here as a "low" signal, you cannot turn the relay off that way. However:
when i execute echo 4 > /sys/class/gpio/unexport
the relay turns off
I believe this leaves the GPIO back in its default state, which is as an input. Inputs are not like outputs set low. They are in a "third state", high-Z (aka high impendence). This is because an input doesn't really need to take (much) current in by sinking it with low voltage, it just needs to be sensitive to the state of what it is attached to (therefore, itself should be neither high nor low, which is the "floating" state associated with high-Z). That's not the same as a low voltage signal from an output, which the relay's input would detect (it would be pulled down as well). But an input attached to an input doesn't do that. It is essentially the same as an input attached to nothing, so now the relay goes off. Notice that 0/low voltage is not the same thing as "no voltage".
I'm not sure what the risk here is for damaging the pi, but in general it is probably a bad idea to attach the GPIOs to anything involving 5V logic. To use this relay properly you will need a set of transistors or integrated circuit chip containing such (e.g., a ULN2003A, which you will find various references to here).
1. You don't mention trying to set the value high, so if you have not, you could (keeping in mind what I've said in the last paragraph above). Note that setting the value low after initializing an output does NOT "change the value" -- it leaves it the same since it starts out low by default.
echo 1 /sys/class/gpio/gpio4/value
and open when you useecho 0 /sys/class/gpio/gpio4/value
?