Do indexes consume memory?
Yes, the data pages of a used index that are cached in the buffer pool will be taking up space in the data cache.  But don't let that turn you away from using indexes (first off, a clustered index is the actual table data so keep that in mind as well).  The use of indexes (properly designed and implemented, of course) is a good thing.

Your memory issues are most likely not from having indexes on your tables.  Dive into the memory issues, what exactly are the problems?  Are you having a low Page Life Expectancy?  How is your memory configured on the server?  Is the max server memory to low restricting the size of the buffer pool?

To get a breakdown of the index pages in your data cache, you can run the below query:

select
    count(*) as total_page_count,
    count(*) * 8 as total_consumption_kb,
    sum(row_count) as total_row_count
from sys.dm_os_buffer_descriptors
where page_type = 'INDEX_PAGE'
group by page_type


To get these stats by database:

select
    db_name(database_id) as database_name,
    count(*) as total_page_count,
    count(*) * 8 as total_consumption_kb,
    sum(row_count) as total_row_count
from sys.dm_os_buffer_descriptors
where page_type = 'INDEX_PAGE'
group by database_id
order by total_consumption_kb desc