What is the difference between inbound and outbound connections? I have port 8333 open with 8 outbound and 2 inbound connections.

Is my node transmitting and receiving transactions and blocks from both types of connections? Or does the "inbound" flag mean I am just downloading from that peer, and not sending any information back?

If, for the sake of saving RAM, I set maxconnections to 8, will they all be outbound? Even if port 8333 is open? In this configuration, is my node still "helping" the network?
If your node initiated the connection, it's outbound, otherwise it's inbound. Nodes will send and receive data from both types of connections exactly the same way.

maxconnections sets a limit on the total number of connections, so if you set it to eight, your node will probably initiate connections to other eight nodes before any node can initiate a connection to it.

Keep in mind that according to this forum post, each open connection will take only a few kilobytes of RAM, so reducing the number of connections might not save all that much of memory.

EDIT: By running a full node that has no slots for incoming connections, you act as a leecher, and you do more bad than good for the Bitcoin network, as Gavin Andresen said on Reddit. You would help the network if you allowed a few inbound connections. As discussed earlier, that's unlikely to take up any significant amount of RAM.